LLDB  mainline
Public Types | Public Member Functions | Private Attributes | List of all members
lldb_private::UnwindPlan::Row::FAValue Class Reference

#include <UnwindPlan.h>

Collaboration diagram for lldb_private::UnwindPlan::Row::FAValue:
Collaboration graph
[legend]

Public Types

enum  ValueType {
  unspecified, isRegisterPlusOffset, isRegisterDereferenced, isDWARFExpression,
  isRaSearch
}
 

Public Member Functions

 FAValue ()
 
bool operator== (const FAValue &rhs) const
 
bool operator!= (const FAValue &rhs) const
 
void SetUnspecified ()
 
bool IsUnspecified () const
 
void SetRaSearch (int32_t offset)
 
bool IsRegisterPlusOffset () const
 
void SetIsRegisterPlusOffset (uint32_t reg_num, int32_t offset)
 
bool IsRegisterDereferenced () const
 
void SetIsRegisterDereferenced (uint32_t reg_num)
 
bool IsDWARFExpression () const
 
void SetIsDWARFExpression (const uint8_t *opcodes, uint32_t len)
 
uint32_t GetRegisterNumber () const
 
ValueType GetValueType () const
 
int32_t GetOffset () const
 
void IncOffset (int32_t delta)
 
void SetOffset (int32_t offset)
 
void GetDWARFExpr (const uint8_t **opcodes, uint16_t &len) const
 
const uint8_t * GetDWARFExpressionBytes ()
 
int GetDWARFExpressionLength ()
 
void Dump (Stream &s, const UnwindPlan *unwind_plan, Thread *thread) const
 

Private Attributes

ValueType m_type
 
union {
   struct {
      uint32_t   reg_num
 
      int32_t   offset
 
   }   reg
 
   struct {
      const uint8_t *   opcodes
 
      uint16_t   length
 
   }   expr
 
   int32_t   ra_search_offset
 
m_value
 

Detailed Description

Definition at line 198 of file UnwindPlan.h.

Member Enumeration Documentation

◆ ValueType

Enumerator
unspecified 
isRegisterPlusOffset 
isRegisterDereferenced 
isDWARFExpression 
isRaSearch 

Definition at line 200 of file UnwindPlan.h.

Constructor & Destructor Documentation

◆ FAValue()

lldb_private::UnwindPlan::Row::FAValue::FAValue ( )
inline

Member Function Documentation

◆ Dump()

void UnwindPlan::Row::FAValue::Dump ( Stream s,
const UnwindPlan unwind_plan,
Thread thread 
) const

◆ GetDWARFExpr()

void lldb_private::UnwindPlan::Row::FAValue::GetDWARFExpr ( const uint8_t **  opcodes,
uint16_t len 
) const
inline

◆ GetDWARFExpressionBytes()

const uint8_t* lldb_private::UnwindPlan::Row::FAValue::GetDWARFExpressionBytes ( )
inline

◆ GetDWARFExpressionLength()

int lldb_private::UnwindPlan::Row::FAValue::GetDWARFExpressionLength ( )
inline

◆ GetOffset()

int32_t lldb_private::UnwindPlan::Row::FAValue::GetOffset ( ) const
inline

◆ GetRegisterNumber()

uint32_t lldb_private::UnwindPlan::Row::FAValue::GetRegisterNumber ( ) const
inline

◆ GetValueType()

ValueType lldb_private::UnwindPlan::Row::FAValue::GetValueType ( ) const
inline

◆ IncOffset()

void lldb_private::UnwindPlan::Row::FAValue::IncOffset ( int32_t  delta)
inline

◆ IsDWARFExpression()

bool lldb_private::UnwindPlan::Row::FAValue::IsDWARFExpression ( ) const
inline

◆ IsRegisterDereferenced()

bool lldb_private::UnwindPlan::Row::FAValue::IsRegisterDereferenced ( ) const
inline

◆ IsRegisterPlusOffset()

bool lldb_private::UnwindPlan::Row::FAValue::IsRegisterPlusOffset ( ) const
inline

◆ IsUnspecified()

bool lldb_private::UnwindPlan::Row::FAValue::IsUnspecified ( ) const
inline

◆ operator!=()

bool lldb_private::UnwindPlan::Row::FAValue::operator!= ( const FAValue rhs) const
inline

Definition at line 212 of file UnwindPlan.h.

◆ operator==()

bool UnwindPlan::Row::FAValue::operator== ( const FAValue rhs) const

Definition at line 167 of file UnwindPlan.cpp.

References expr, m_type, m_value, ra_search_offset, and reg.

◆ SetIsDWARFExpression()

void lldb_private::UnwindPlan::Row::FAValue::SetIsDWARFExpression ( const uint8_t *  opcodes,
uint32_t  len 
)
inline

◆ SetIsRegisterDereferenced()

void lldb_private::UnwindPlan::Row::FAValue::SetIsRegisterDereferenced ( uint32_t  reg_num)
inline

◆ SetIsRegisterPlusOffset()

void lldb_private::UnwindPlan::Row::FAValue::SetIsRegisterPlusOffset ( uint32_t  reg_num,
int32_t  offset 
)
inline

◆ SetOffset()

void lldb_private::UnwindPlan::Row::FAValue::SetOffset ( int32_t  offset)
inline

◆ SetRaSearch()

void lldb_private::UnwindPlan::Row::FAValue::SetRaSearch ( int32_t  offset)
inline

◆ SetUnspecified()

void lldb_private::UnwindPlan::Row::FAValue::SetUnspecified ( )
inline

Member Data Documentation

◆ expr

struct { ... } lldb_private::UnwindPlan::Row::FAValue::expr

Referenced by operator==().

◆ length

uint16_t lldb_private::UnwindPlan::Row::FAValue::length

Definition at line 316 of file UnwindPlan.h.

◆ m_type

ValueType lldb_private::UnwindPlan::Row::FAValue::m_type
private

Definition at line 304 of file UnwindPlan.h.

Referenced by operator==().

◆ m_value

union { ... } lldb_private::UnwindPlan::Row::FAValue::m_value

Referenced by operator==().

◆ offset

int32_t lldb_private::UnwindPlan::Row::FAValue::offset

Definition at line 311 of file UnwindPlan.h.

◆ opcodes

const uint8_t* lldb_private::UnwindPlan::Row::FAValue::opcodes

Definition at line 315 of file UnwindPlan.h.

◆ ra_search_offset

int32_t lldb_private::UnwindPlan::Row::FAValue::ra_search_offset

Definition at line 319 of file UnwindPlan.h.

Referenced by operator==().

◆ reg

struct { ... } lldb_private::UnwindPlan::Row::FAValue::reg

Referenced by operator==().

◆ reg_num

uint32_t lldb_private::UnwindPlan::Row::FAValue::reg_num

Definition at line 309 of file UnwindPlan.h.


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