LLDB mainline
lldb_private::clike::Field Class Reference

A single data member of a record type. More...

#include <Type.h>

Public Member Functions

 Field (Identifier name, TypeRef type, uint64_t byte_offset, uint32_t bitfield_bit_size=0, uint32_t bitfield_bit_offset=0)
 bitfield_bit_size is the width of a bitfield member, or zero if this is not a bitfield (in which case bitfield_bit_offset must be zero too).
Identifier GetName () const
TypeRef GetType () const
 The type of this member.
uint64_t GetByteOffset () const
 Offset of this member (or, for a bitfield, of its storage unit) from the start of the record, in bytes.
bool IsBitfield () const
uint32_t GetBitfieldBitSize () const
 The width of this bitfield in bits.
uint32_t GetBitfieldBitOffset () const
 The offset of this bitfield's first bit within its storage unit.

Private Attributes

Identifier m_name
TypeRef m_type
uint64_t m_byte_offset
uint32_t m_bitfield_bit_size
 Zero means this is not a bitfield.
uint32_t m_bitfield_bit_offset

Detailed Description

A single data member of a record type.

Definition at line 77 of file source/Plugins/TypeSystem/Clike/Type.h.

Constructor & Destructor Documentation

◆ Field()

lldb_private::clike::Field::Field ( Identifier name,
TypeRef type,
uint64_t byte_offset,
uint32_t bitfield_bit_size = 0,
uint32_t bitfield_bit_offset = 0 )
inline

bitfield_bit_size is the width of a bitfield member, or zero if this is not a bitfield (in which case bitfield_bit_offset must be zero too).

Definition at line 81 of file source/Plugins/TypeSystem/Clike/Type.h.

References IsBitfield(), m_bitfield_bit_offset, m_bitfield_bit_size, m_byte_offset, m_name, and m_type.

Member Function Documentation

◆ GetBitfieldBitOffset()

uint32_t lldb_private::clike::Field::GetBitfieldBitOffset ( ) const
inline

The offset of this bitfield's first bit within its storage unit.

Definition at line 108 of file source/Plugins/TypeSystem/Clike/Type.h.

References IsBitfield(), and m_bitfield_bit_offset.

◆ GetBitfieldBitSize()

uint32_t lldb_private::clike::Field::GetBitfieldBitSize ( ) const
inline

The width of this bitfield in bits.

Definition at line 102 of file source/Plugins/TypeSystem/Clike/Type.h.

References IsBitfield(), and m_bitfield_bit_size.

◆ GetByteOffset()

uint64_t lldb_private::clike::Field::GetByteOffset ( ) const
inline

Offset of this member (or, for a bitfield, of its storage unit) from the start of the record, in bytes.

Definition at line 97 of file source/Plugins/TypeSystem/Clike/Type.h.

References m_byte_offset.

◆ GetName()

Identifier lldb_private::clike::Field::GetName ( ) const
inline

Definition at line 90 of file source/Plugins/TypeSystem/Clike/Type.h.

References m_name.

◆ GetType()

TypeRef lldb_private::clike::Field::GetType ( ) const
inline

The type of this member.

Definition at line 93 of file source/Plugins/TypeSystem/Clike/Type.h.

References m_type.

◆ IsBitfield()

bool lldb_private::clike::Field::IsBitfield ( ) const
inline

Member Data Documentation

◆ m_bitfield_bit_offset

uint32_t lldb_private::clike::Field::m_bitfield_bit_offset
private

Definition at line 119 of file source/Plugins/TypeSystem/Clike/Type.h.

Referenced by Field(), and GetBitfieldBitOffset().

◆ m_bitfield_bit_size

uint32_t lldb_private::clike::Field::m_bitfield_bit_size
private

Zero means this is not a bitfield.

Definition at line 118 of file source/Plugins/TypeSystem/Clike/Type.h.

Referenced by Field(), GetBitfieldBitSize(), and IsBitfield().

◆ m_byte_offset

uint64_t lldb_private::clike::Field::m_byte_offset
private

Definition at line 116 of file source/Plugins/TypeSystem/Clike/Type.h.

Referenced by Field(), and GetByteOffset().

◆ m_name

Identifier lldb_private::clike::Field::m_name
private

Definition at line 114 of file source/Plugins/TypeSystem/Clike/Type.h.

Referenced by Field(), and GetName().

◆ m_type

TypeRef lldb_private::clike::Field::m_type
private

Definition at line 115 of file source/Plugins/TypeSystem/Clike/Type.h.

Referenced by Field(), and GetType().


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