LLDB mainline
|
A class which can hold structured data. More...
#include "lldb/Utility/StructuredData.h"
Classes | |
class | Array |
class | Boolean |
class | Dictionary |
class | Float |
class | Generic |
class | Integer |
class | Null |
class | Object |
class | String |
Public Types | |
using | UnsignedInteger = Integer< uint64_t > |
using | SignedInteger = Integer< int64_t > |
typedef std::shared_ptr< Object > | ObjectSP |
typedef std::shared_ptr< Array > | ArraySP |
typedef std::shared_ptr< UnsignedInteger > | UnsignedIntegerSP |
typedef std::shared_ptr< SignedInteger > | SignedIntegerSP |
typedef std::shared_ptr< Float > | FloatSP |
typedef std::shared_ptr< Boolean > | BooleanSP |
typedef std::shared_ptr< String > | StringSP |
typedef std::shared_ptr< Dictionary > | DictionarySP |
typedef std::shared_ptr< Generic > | GenericSP |
typedef std::variant< UnsignedIntegerSP, SignedIntegerSP > | IntegerSP |
Static Public Member Functions | |
static ObjectSP | ParseJSON (llvm::StringRef json_text) |
static ObjectSP | ParseJSONFromFile (const FileSpec &file, Status &error) |
static bool | IsRecordType (const ObjectSP object_sp) |
A class which can hold structured data.
The StructuredData class is designed to hold the data from a JSON or plist style file – a serialized data structure with dictionaries (maps, hashes), arrays, and concrete values like integers, floating point numbers, strings, booleans.
StructuredData does not presuppose any knowledge of the schema for the data it is holding; it can parse JSON data, for instance, and other parts of lldb can iterate through the parsed data set to find keys and values that may be present.
Definition at line 52 of file StructuredData.h.
typedef std::shared_ptr<Array> lldb_private::StructuredData::ArraySP |
Definition at line 67 of file StructuredData.h.
typedef std::shared_ptr<Boolean> lldb_private::StructuredData::BooleanSP |
Definition at line 71 of file StructuredData.h.
typedef std::shared_ptr<Dictionary> lldb_private::StructuredData::DictionarySP |
Definition at line 73 of file StructuredData.h.
typedef std::shared_ptr<Float> lldb_private::StructuredData::FloatSP |
Definition at line 70 of file StructuredData.h.
typedef std::shared_ptr<Generic> lldb_private::StructuredData::GenericSP |
Definition at line 74 of file StructuredData.h.
typedef std::variant<UnsignedIntegerSP, SignedIntegerSP> lldb_private::StructuredData::IntegerSP |
Definition at line 76 of file StructuredData.h.
typedef std::shared_ptr<Object> lldb_private::StructuredData::ObjectSP |
Definition at line 66 of file StructuredData.h.
using lldb_private::StructuredData::SignedInteger = Integer<int64_t> |
Definition at line 59 of file StructuredData.h.
typedef std::shared_ptr<SignedInteger> lldb_private::StructuredData::SignedIntegerSP |
Definition at line 69 of file StructuredData.h.
typedef std::shared_ptr<String> lldb_private::StructuredData::StringSP |
Definition at line 72 of file StructuredData.h.
using lldb_private::StructuredData::UnsignedInteger = Integer<uint64_t> |
Definition at line 58 of file StructuredData.h.
typedef std::shared_ptr<UnsignedInteger> lldb_private::StructuredData::UnsignedIntegerSP |
Definition at line 68 of file StructuredData.h.
|
static |
Definition at line 53 of file StructuredData.cpp.
References lldb::eStructuredDataTypeArray, and lldb::eStructuredDataTypeDictionary.
Referenced by lldb_private::StructuredData::Array::GetDescription(), and lldb_private::StructuredData::Dictionary::GetDescription().
|
static |
Definition at line 25 of file StructuredData.cpp.
References ParseJSONValue().
Referenced by ObjectFileMachO::GetCorefileThreadExtraInfos(), lldb_private::process_gdb_remote::ProcessGDBRemote::GetDynamicLoaderProcessState(), lldb_private::process_gdb_remote::ProcessGDBRemote::GetExtendedInfoForThread(), lldb_private::process_gdb_remote::ProcessGDBRemote::GetLoadedDynamicLibrariesInfos_sender(), lldb_private::process_gdb_remote::GDBRemoteCommunicationClient::GetModulesInfo(), lldb_private::platform_gdb_server::PlatformRemoteGDBServer::GetRemoteUnixSignals(), lldb::SBDebugger::GetSetting(), lldb_private::process_gdb_remote::ProcessGDBRemote::GetSharedCacheInfo(), lldb::SBCommandInterpreter::GetStatistics(), lldb::SBTarget::GetStatistics(), lldb_private::process_gdb_remote::GDBRemoteCommunicationClient::GetSupportedStructuredDataPlugins(), lldb_private::process_gdb_remote::GDBRemoteCommunicationClient::GetThreadsInfo(), lldb_private::process_gdb_remote::GDBRemoteCommunicationServerCommon::Handle_jModulesInfo(), ParseStructuredDataPacket(), lldb_private::process_gdb_remote::GDBRemoteCommunicationClient::QueryGDBServer(), lldb::SBStructuredData::SetFromJSON(), and lldb_private::process_gdb_remote::ProcessGDBRemote::SetThreadStopInfo().
|
static |
Definition at line 35 of file StructuredData.cpp.
References error(), lldb_private::FileSpec::GetPath(), ParseJSONValue(), and lldb_private::toString().
Referenced by lldb_private::Target::CreateBreakpointsFromFile(), CommandObjectBreakpointRead::CommandOptions::HandleOptionArgumentCompletion(), and lldb_private::Target::SerializeBreakpointsToFile().