LLDB  mainline
Classes | Public Types | Public Member Functions | Static Public Member Functions | Protected Attributes | List of all members
DWARFFormValue Class Reference

#include <DWARFFormValue.h>

Collaboration diagram for DWARFFormValue:
Collaboration graph
[legend]

Classes

class  FixedFormSizes
 
struct  ValueTypeTag
 

Public Types

enum  {
  eValueTypeInvalid = 0, eValueTypeUnsigned, eValueTypeSigned, eValueTypeCStr,
  eValueTypeBlock
}
 
typedef struct DWARFFormValue::ValueTypeTag ValueType
 

Public Member Functions

 DWARFFormValue ()
 
 DWARFFormValue (const DWARFUnit *cu)
 
 DWARFFormValue (const DWARFUnit *cu, dw_form_t form)
 
const DWARFUnitGetCompileUnit () const
 
void SetCompileUnit (const DWARFUnit *cu)
 
dw_form_t Form () const
 
dw_form_tFormRef ()
 
void SetForm (dw_form_t form)
 
const ValueTypeValue () const
 
ValueTypeValueRef ()
 
void SetValue (const ValueType &val)
 
void Dump (lldb_private::Stream &s) const
 
bool ExtractValue (const lldb_private::DWARFDataExtractor &data, lldb::offset_t *offset_ptr)
 
const uint8_t * BlockData () const
 
uint64_t Reference () const
 
uint64_t Reference (dw_offset_t offset) const
 
bool Boolean () const
 
uint64_t Unsigned () const
 
void SetUnsigned (uint64_t uval)
 
int64_t Signed () const
 
void SetSigned (int64_t sval)
 
const char * AsCString () const
 
dw_addr_t Address () const
 
bool IsValid () const
 
bool SkipValue (const lldb_private::DWARFDataExtractor &debug_info_data, lldb::offset_t *offset_ptr) const
 
void Clear ()
 

Static Public Member Functions

static bool SkipValue (const dw_form_t form, const lldb_private::DWARFDataExtractor &debug_info_data, lldb::offset_t *offset_ptr, const DWARFUnit *cu)
 
static bool IsBlockForm (const dw_form_t form)
 
static bool IsDataForm (const dw_form_t form)
 
static FixedFormSizes GetFixedFormSizesForAddressSize (uint8_t addr_size)
 
static int Compare (const DWARFFormValue &a, const DWARFFormValue &b)
 
static bool FormIsSupported (dw_form_t form)
 

Protected Attributes

const DWARFUnitm_cu
 
dw_form_t m_form
 
ValueType m_value
 

Detailed Description

Definition at line 18 of file DWARFFormValue.h.

Member Typedef Documentation

◆ ValueType

Member Enumeration Documentation

◆ anonymous enum

anonymous enum
Enumerator
eValueTypeInvalid 
eValueTypeUnsigned 
eValueTypeSigned 
eValueTypeCStr 
eValueTypeBlock 

Definition at line 49 of file DWARFFormValue.h.

Constructor & Destructor Documentation

◆ DWARFFormValue() [1/3]

DWARFFormValue::DWARFFormValue ( )

Definition at line 107 of file DWARFFormValue.cpp.

◆ DWARFFormValue() [2/3]

DWARFFormValue::DWARFFormValue ( const DWARFUnit cu)

Definition at line 109 of file DWARFFormValue.cpp.

◆ DWARFFormValue() [3/3]

DWARFFormValue::DWARFFormValue ( const DWARFUnit cu,
dw_form_t  form 
)

Definition at line 112 of file DWARFFormValue.cpp.

Member Function Documentation

◆ Address()

dw_addr_t DWARFFormValue::Address ( ) const

◆ AsCString()

const char * DWARFFormValue::AsCString ( ) const

◆ BlockData()

const uint8_t * DWARFFormValue::BlockData ( ) const

◆ Boolean()

bool DWARFFormValue::Boolean ( ) const
inline

◆ Clear()

void DWARFFormValue::Clear ( )

Definition at line 115 of file DWARFFormValue.cpp.

References m_cu, m_form, and m_value.

Referenced by IsValid(), and DWARFASTParserClang::ParseTypeFromDWARF().

◆ Compare()

int DWARFFormValue::Compare ( const DWARFFormValue a,
const DWARFFormValue b 
)
static

Definition at line 624 of file DWARFFormValue.cpp.

References AsCString(), BlockData(), Form(), Reference(), Signed(), and Unsigned().

Referenced by IsValid().

◆ Dump()

void DWARFFormValue::Dump ( lldb_private::Stream s) const

◆ ExtractValue()

bool DWARFFormValue::ExtractValue ( const lldb_private::DWARFDataExtractor data,
lldb::offset_t offset_ptr 
)

◆ Form()

dw_form_t DWARFFormValue::Form ( ) const
inline

◆ FormIsSupported()

bool DWARFFormValue::FormIsSupported ( dw_form_t  form)
static

◆ FormRef()

dw_form_t& DWARFFormValue::FormRef ( )
inline

Definition at line 63 of file DWARFFormValue.h.

References m_form.

Referenced by DWARFAbbreviationDeclaration::GetAttrAndFormValueByIndex().

◆ GetCompileUnit()

const DWARFUnit* DWARFFormValue::GetCompileUnit ( ) const
inline

Definition at line 60 of file DWARFFormValue.h.

References m_cu.

Referenced by DIERef::DIERef().

◆ GetFixedFormSizesForAddressSize()

DWARFFormValue::FixedFormSizes DWARFFormValue::GetFixedFormSizesForAddressSize ( uint8_t  addr_size)
static

◆ IsBlockForm()

bool DWARFFormValue::IsBlockForm ( const dw_form_t  form)
static

Definition at line 599 of file DWARFFormValue.cpp.

Referenced by IsValid(), and SymbolFileDWARF::ParseVariableDIE().

◆ IsDataForm()

bool DWARFFormValue::IsDataForm ( const dw_form_t  form)
static

◆ IsValid()

bool DWARFFormValue::IsValid ( ) const
inline

◆ Reference() [1/2]

uint64_t DWARFFormValue::Reference ( ) const

◆ Reference() [2/2]

uint64_t DWARFFormValue::Reference ( dw_offset_t  offset) const

◆ SetCompileUnit()

void DWARFFormValue::SetCompileUnit ( const DWARFUnit cu)
inline

Definition at line 61 of file DWARFFormValue.h.

References m_cu.

Referenced by DWARFAttributes::ExtractFormValueAtIndex().

◆ SetForm()

void DWARFFormValue::SetForm ( dw_form_t  form)
inline

Definition at line 64 of file DWARFFormValue.h.

References m_form.

Referenced by DWARFAttributes::ExtractFormValueAtIndex().

◆ SetSigned()

void DWARFFormValue::SetSigned ( int64_t  sval)
inline

◆ SetUnsigned()

void DWARFFormValue::SetUnsigned ( uint64_t  uval)
inline

◆ SetValue()

void DWARFFormValue::SetValue ( const ValueType val)
inline

◆ Signed()

int64_t DWARFFormValue::Signed ( ) const
inline

◆ SkipValue() [1/2]

bool DWARFFormValue::SkipValue ( const lldb_private::DWARFDataExtractor debug_info_data,
lldb::offset_t offset_ptr 
) const

◆ SkipValue() [2/2]

bool DWARFFormValue::SkipValue ( const dw_form_t  form,
const lldb_private::DWARFDataExtractor debug_info_data,
lldb::offset_t offset_ptr,
const DWARFUnit cu 
)
static

◆ Unsigned()

uint64_t DWARFFormValue::Unsigned ( ) const
inline

◆ Value()

const ValueType& DWARFFormValue::Value ( ) const
inline

Definition at line 65 of file DWARFFormValue.h.

References m_value.

◆ ValueRef()

ValueType& DWARFFormValue::ValueRef ( )
inline

Definition at line 66 of file DWARFFormValue.h.

References m_value.

Referenced by DWARFAbbreviationDeclaration::GetAttrAndFormValueByIndex().

Member Data Documentation

◆ m_cu

const DWARFUnit* DWARFFormValue::m_cu
protected

◆ m_form

dw_form_t DWARFFormValue::m_form
protected

◆ m_value

ValueType DWARFFormValue::m_value
protected

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