LLDB mainline
|
#include <RegisterFlags.h>
Classes | |
class | Field |
Public Member Functions | |
RegisterFlags (std::string id, unsigned size, const std::vector< Field > &fields) | |
This assumes that: | |
void | SetFields (const std::vector< Field > &fields) |
Replace all the fields with the new set of fields. | |
template<typename T > | |
T | ReverseFieldOrder (T value) const |
const std::vector< Field > & | GetFields () const |
const std::string & | GetID () const |
unsigned | GetSize () const |
void | log (Log *log) const |
std::string | AsTable (uint32_t max_width) const |
Produce a text table showing the layout of all the fields. | |
void | ToXML (StreamString &strm) const |
Private Attributes | |
const std::string | m_id |
const unsigned | m_size |
Size in bytes. | |
std::vector< Field > | m_fields |
Definition at line 21 of file RegisterFlags.h.
RegisterFlags::RegisterFlags | ( | std::string | id, |
unsigned | size, | ||
const std::vector< Field > & | fields | ||
) |
This assumes that:
Definition at line 99 of file RegisterFlags.cpp.
References SetFields().
std::string RegisterFlags::AsTable | ( | uint32_t | max_width | ) | const |
Produce a text table showing the layout of all the fields.
Unnamed/padding fields will be included, with only their positions shown. max_width will be the width in characters of the terminal you are going to print the table to. If the table would exceed this width, it will be split into many tables as needed.
Definition at line 138 of file RegisterFlags.cpp.
References EmitTable(), FormatCell(), lldb_private::StreamString::GetString(), m_fields, and lldb_private::Stream::Printf().
|
inline |
Definition at line 109 of file RegisterFlags.h.
References m_fields.
Referenced by lldb_private::RegisterTypeBuilderClang::GetRegisterType(), and ReverseFieldOrder().
|
inline |
Definition at line 110 of file RegisterFlags.h.
References m_id.
Referenced by lldb_private::process_gdb_remote::GDBRemoteCommunicationServerLLGS::BuildTargetXml(), and ToXML().
|
inline |
Definition at line 111 of file RegisterFlags.h.
References m_size.
Referenced by lldb_private::RegisterTypeBuilderClang::GetRegisterType(), and ToXML().
void RegisterFlags::log | ( | Log * | log | ) | const |
Definition at line 105 of file RegisterFlags.cpp.
References LLDB_LOG, log(), m_fields, m_id, and m_size.
Referenced by lldb_private::RegisterFlags::Field::log(), and log().
|
inline |
Definition at line 98 of file RegisterFlags.h.
References GetFields().
Referenced by dump_type_value().
void RegisterFlags::SetFields | ( | const std::vector< Field > & | fields | ) |
Replace all the fields with the new set of fields.
All the assumptions and checks apply as when you use the constructor. Intended to only be used when runtime field detection is needed.
Definition at line 56 of file RegisterFlags.cpp.
References m_fields, and m_size.
Referenced by RegisterFlags().
void RegisterFlags::ToXML | ( | StreamString & | strm | ) | const |
Definition at line 193 of file RegisterFlags.cpp.
References GetID(), GetSize(), lldb_private::Stream::Indent(), lldb_private::Stream::IndentLess(), lldb_private::Stream::IndentMore(), m_fields, lldb_private::Stream::Printf(), and lldb_private::Stream::PutChar().
Referenced by lldb_private::process_gdb_remote::GDBRemoteCommunicationServerLLGS::BuildTargetXml().
|
private |
Definition at line 128 of file RegisterFlags.h.
Referenced by AsTable(), GetFields(), log(), SetFields(), and ToXML().
|
private |
Definition at line 125 of file RegisterFlags.h.
|
private |
Size in bytes.
Definition at line 127 of file RegisterFlags.h.
Referenced by GetSize(), log(), and SetFields().