LLDB mainline
lldb::SBSymbol Class Reference

#include <SBSymbol.h>

Public Member Functions

 SBSymbol ()
 ~SBSymbol ()
 SBSymbol (const lldb::SBSymbol &rhs)
const lldb::SBSymboloperator= (const lldb::SBSymbol &rhs)
 operator bool () const
bool IsValid () const
const char * GetName () const
const char * GetDisplayName () const
const char * GetMangledName () const
const char * GetBaseName () const
lldb::SBInstructionList GetInstructions (lldb::SBTarget target)
lldb::SBInstructionList GetInstructions (lldb::SBTarget target, const char *flavor_string)
SBAddress GetStartAddress ()
 Get the start address of this symbol.
SBAddress GetEndAddress ()
 Get the end address of this symbol.
uint64_t GetValue ()
 Get the raw value of a symbol.
uint64_t GetSize ()
 Get the size of the symbol.
uint32_t GetPrologueByteSize ()
SymbolType GetType ()
uint32_t GetID () const
 Get the ID of this symbol, usually the original symbol table index.
bool operator== (const lldb::SBSymbol &rhs) const
bool operator!= (const lldb::SBSymbol &rhs) const
bool GetDescription (lldb::SBStream &description)
bool IsExternal ()
bool IsSynthetic ()
bool IsDebug () const
 Returns true if the symbol is a debug symbol.

Static Public Member Functions

static const char * GetTypeAsString (lldb::SymbolType symbol_type)
 Get the string representation of a symbol type.
static lldb::SymbolType GetTypeFromString (const char *str)
 Get the symbol type from a string representation.

Protected Member Functions

lldb_private::Symbolget ()
void reset (lldb_private::Symbol *)

Private Member Functions

 SBSymbol (lldb_private::Symbol *lldb_object_ptr)
void SetSymbol (lldb_private::Symbol *lldb_object_ptr)

Private Attributes

lldb_private::Symbolm_opaque_ptr = nullptr

Friends

class SBAddress
class SBFrame
class SBModule
class SBSymbolContext

Detailed Description

Definition at line 19 of file SBSymbol.h.

Constructor & Destructor Documentation

◆ SBSymbol() [1/3]

SBSymbol::SBSymbol ( )

Definition at line 21 of file SBSymbol.cpp.

References LLDB_INSTRUMENT_VA.

Referenced by operator!=(), operator=(), operator==(), and SBSymbolContext.

◆ ~SBSymbol()

SBSymbol::~SBSymbol ( )

Definition at line 37 of file SBSymbol.cpp.

References m_opaque_ptr.

◆ SBSymbol() [2/3]

SBSymbol::SBSymbol ( const lldb::SBSymbol & rhs)

Definition at line 26 of file SBSymbol.cpp.

References LLDB_INSTRUMENT_VA, and m_opaque_ptr.

◆ SBSymbol() [3/3]

SBSymbol::SBSymbol ( lldb_private::Symbol * lldb_object_ptr)
private

Definition at line 23 of file SBSymbol.cpp.

References m_opaque_ptr.

Member Function Documentation

◆ get()

lldb_private::Symbol * SBSymbol::get ( )
protected

Definition at line 148 of file SBSymbol.cpp.

References m_opaque_ptr.

Referenced by lldb::SBSymbolContext::SetSymbol().

◆ GetBaseName()

const char * SBSymbol::GetBaseName ( ) const

Definition at line 83 of file SBSymbol.cpp.

References LLDB_INSTRUMENT_VA, and m_opaque_ptr.

◆ GetDescription()

bool SBSymbol::GetDescription ( lldb::SBStream & description)

◆ GetDisplayName()

const char * SBSymbol::GetDisplayName ( ) const

Definition at line 63 of file SBSymbol.cpp.

References LLDB_INSTRUMENT_VA, and m_opaque_ptr.

◆ GetEndAddress()

SBAddress SBSymbol::GetEndAddress ( )

Get the end address of this symbol.

Returns
If the symbol's value is not an address, an invalid SBAddress object will be returned. If the symbol's value is an address, a valid SBAddress object will be returned.

Definition at line 162 of file SBSymbol.cpp.

References LLDB_INSTRUMENT_VA, m_opaque_ptr, SBAddress, lldb::SBAddress::SetAddress(), and lldb_private::Address::Slide().

◆ GetID()

uint32_t SBSymbol::GetID ( ) const

Get the ID of this symbol, usually the original symbol table index.

Returns
LLDB_INVALID_SYMBOL_ID if this object does not contain a valid symbol object. Otherwise, Returns a valid symbol ID.

Definition at line 206 of file SBSymbol.cpp.

References LLDB_INSTRUMENT_VA, LLDB_INVALID_SYMBOL_ID, and m_opaque_ptr.

◆ GetInstructions() [1/2]

SBInstructionList SBSymbol::GetInstructions ( lldb::SBTarget target)

Definition at line 117 of file SBSymbol.cpp.

References GetInstructions(), and LLDB_INSTRUMENT_VA.

Referenced by GetInstructions().

◆ GetInstructions() [2/2]

◆ GetMangledName()

const char * SBSymbol::GetMangledName ( ) const

Definition at line 74 of file SBSymbol.cpp.

References LLDB_INSTRUMENT_VA, and m_opaque_ptr.

◆ GetName()

const char * SBSymbol::GetName ( ) const

Definition at line 53 of file SBSymbol.cpp.

References LLDB_INSTRUMENT_VA, and m_opaque_ptr.

◆ GetPrologueByteSize()

uint32_t SBSymbol::GetPrologueByteSize ( )

Definition at line 190 of file SBSymbol.cpp.

References LLDB_INSTRUMENT_VA, and m_opaque_ptr.

◆ GetSize()

uint64_t SBSymbol::GetSize ( )

Get the size of the symbol.

This accessor allows direct access to the symbol's size from the symbol table regardless of what the value is (address or integer value).

Returns
Returns the size of a symbol from the symbol table.

Definition at line 183 of file SBSymbol.cpp.

References LLDB_INSTRUMENT_VA, and m_opaque_ptr.

◆ GetStartAddress()

SBAddress SBSymbol::GetStartAddress ( )

Get the start address of this symbol.

Returns
If the symbol's value is not an address, an invalid SBAddress object will be returned. If the symbol's value is an address, a valid SBAddress object will be returned.

Definition at line 152 of file SBSymbol.cpp.

References LLDB_INSTRUMENT_VA, m_opaque_ptr, SBAddress, and lldb::SBAddress::SetAddress().

◆ GetType()

SymbolType SBSymbol::GetType ( )

Definition at line 198 of file SBSymbol.cpp.

References lldb::eSymbolTypeInvalid, LLDB_INSTRUMENT_VA, and m_opaque_ptr.

◆ GetTypeAsString()

const char * SBSymbol::GetTypeAsString ( lldb::SymbolType symbol_type)
static

Get the string representation of a symbol type.

Definition at line 238 of file SBSymbol.cpp.

References lldb_private::Symbol::GetTypeAsString(), and LLDB_INSTRUMENT_VA.

◆ GetTypeFromString()

lldb::SymbolType SBSymbol::GetTypeFromString ( const char * str)
static

Get the symbol type from a string representation.

Definition at line 244 of file SBSymbol.cpp.

References lldb_private::Symbol::GetTypeFromString(), and LLDB_INSTRUMENT_VA.

◆ GetValue()

uint64_t SBSymbol::GetValue ( )

Get the raw value of a symbol.

This accessor allows direct access to the symbol's value from the symbol table regardless of what the value is. The value can be a file address or it can be an integer value that depends on what the symbol's type is. Some symbol values are not addresses, but absolute values or integer values that can be mean different things. The GetStartAddress() accessor will only return a valid SBAddress if the symbol's value is an address, so this accessor provides a way to access the symbol's value when the value is not an address.

Returns
Returns the raw integer value of a symbol from the symbol table.

Definition at line 176 of file SBSymbol.cpp.

References LLDB_INSTRUMENT_VA, and m_opaque_ptr.

◆ IsDebug()

bool SBSymbol::IsDebug ( ) const

Returns true if the symbol is a debug symbol.

Definition at line 230 of file SBSymbol.cpp.

References LLDB_INSTRUMENT_VA, and m_opaque_ptr.

◆ IsExternal()

bool SBSymbol::IsExternal ( )

Definition at line 214 of file SBSymbol.cpp.

References LLDB_INSTRUMENT_VA, and m_opaque_ptr.

◆ IsSynthetic()

bool SBSymbol::IsSynthetic ( )

Definition at line 222 of file SBSymbol.cpp.

References LLDB_INSTRUMENT_VA, and m_opaque_ptr.

◆ IsValid()

bool SBSymbol::IsValid ( ) const

Definition at line 43 of file SBSymbol.cpp.

References LLDB_INSTRUMENT_VA.

◆ operator bool()

SBSymbol::operator bool ( ) const
explicit

Definition at line 47 of file SBSymbol.cpp.

References LLDB_INSTRUMENT_VA, and m_opaque_ptr.

◆ operator!=()

bool SBSymbol::operator!= ( const lldb::SBSymbol & rhs) const

Definition at line 98 of file SBSymbol.cpp.

References LLDB_INSTRUMENT_VA, m_opaque_ptr, and SBSymbol().

◆ operator=()

const SBSymbol & SBSymbol::operator= ( const lldb::SBSymbol & rhs)

Definition at line 30 of file SBSymbol.cpp.

References LLDB_INSTRUMENT_VA, m_opaque_ptr, and SBSymbol().

◆ operator==()

bool SBSymbol::operator== ( const lldb::SBSymbol & rhs) const

Definition at line 92 of file SBSymbol.cpp.

References LLDB_INSTRUMENT_VA, m_opaque_ptr, and SBSymbol().

◆ reset()

void SBSymbol::reset ( lldb_private::Symbol * symbol)
protected

Definition at line 150 of file SBSymbol.cpp.

References m_opaque_ptr.

Referenced by lldb::SBAddress::GetSymbol().

◆ SetSymbol()

void SBSymbol::SetSymbol ( lldb_private::Symbol * lldb_object_ptr)
private

◆ SBAddress

friend class SBAddress
friend

Definition at line 126 of file SBSymbol.h.

References SBAddress.

Referenced by GetEndAddress(), GetStartAddress(), and SBAddress.

◆ SBFrame

friend class SBFrame
friend

Definition at line 127 of file SBSymbol.h.

References SBFrame.

Referenced by SBFrame.

◆ SBModule

friend class SBModule
friend

Definition at line 128 of file SBSymbol.h.

References SBModule.

Referenced by SBModule.

◆ SBSymbolContext

friend class SBSymbolContext
friend

Definition at line 129 of file SBSymbol.h.

References SBSymbol(), SBSymbolContext, and SetSymbol().

Referenced by SBSymbolContext.

Member Data Documentation

◆ m_opaque_ptr


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