LLDB mainline
lldb_private::RegisterType Class Referenceabstract

#include <RegisterType.h>

Inheritance diagram for lldb_private::RegisterType:
[legend]

Public Types

enum  RegisterTypeKind { eRegisterTypeKindFlags , eRegisterTypeKindEnum }

Public Member Functions

RegisterTypeKind getKind () const
 RegisterType (RegisterTypeKind kind, std::string id)
void ToXML (Stream &strm, std::unordered_set< const RegisterType * > &previously_emitted, const RegisterType *user=nullptr) const
 Output XML that describes this type, to be inserted into a target XML file.
virtual ~RegisterType ()=default
virtual void ToXMLElement (Stream &strm, const RegisterType *user=nullptr) const =0
 Output the register type as an XML element.
const std::string & GetID () const
void SetDependencies (std::vector< const RegisterType * > dependencies)

Private Attributes

const RegisterTypeKind m_kind
const std::string m_id
std::vector< const RegisterType * > m_dependencies

Detailed Description

Definition at line 21 of file RegisterType.h.

Member Enumeration Documentation

◆ RegisterTypeKind

Enumerator
eRegisterTypeKindFlags 
eRegisterTypeKindEnum 

Definition at line 23 of file RegisterType.h.

Constructor & Destructor Documentation

◆ RegisterType()

◆ ~RegisterType()

virtual lldb_private::RegisterType::~RegisterType ( )
virtualdefault

Member Function Documentation

◆ GetID()

◆ getKind()

◆ SetDependencies()

void lldb_private::RegisterType::SetDependencies ( std::vector< const RegisterType * > dependencies)
inline

Definition at line 50 of file RegisterType.h.

References m_dependencies.

◆ ToXML()

void RegisterType::ToXML ( Stream & strm,
std::unordered_set< const RegisterType * > & previously_emitted,
const RegisterType * user = nullptr ) const

Output XML that describes this type, to be inserted into a target XML file.

Reserved characters like "<" are replaced with their XML safe equivalents like "&gt;".

Definition at line 13 of file RegisterType.cpp.

References m_dependencies, RegisterType(), and ToXMLElement().

Referenced by lldb_private::process_gdb_remote::GDBRemoteCommunicationServerLLGS::BuildTargetXml().

◆ ToXMLElement()

virtual void lldb_private::RegisterType::ToXMLElement ( Stream & strm,
const RegisterType * user = nullptr ) const
pure virtual

Output the register type as an XML element.

That is, "<foo ...>" until the closing </foo>, including any child types in between. For example the flags in a register flag set.

Implemented in lldb_private::RegisterTypeEnum, and lldb_private::RegisterTypeFlags.

References RegisterType().

Referenced by ToXML().

Member Data Documentation

◆ m_dependencies

std::vector<const RegisterType *> lldb_private::RegisterType::m_dependencies
private

Definition at line 57 of file RegisterType.h.

Referenced by SetDependencies(), and ToXML().

◆ m_id

const std::string lldb_private::RegisterType::m_id
private

Definition at line 56 of file RegisterType.h.

Referenced by GetID(), and RegisterType().

◆ m_kind

const RegisterTypeKind lldb_private::RegisterType::m_kind
private

Definition at line 55 of file RegisterType.h.

Referenced by getKind(), and RegisterType().


The documentation for this class was generated from the following files: