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 ()
 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 ()
 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 147 of file SBSymbol.cpp.

References m_opaque_ptr.

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

◆ GetBaseName()

const char * SBSymbol::GetBaseName ( ) const

Definition at line 82 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 161 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 ( )

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

Returns
Returns the ID of this symbol.

Definition at line 205 of file SBSymbol.cpp.

References LLDB_INSTRUMENT_VA, and m_opaque_ptr.

◆ GetInstructions() [1/2]

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

Definition at line 116 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 73 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 189 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 182 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 151 of file SBSymbol.cpp.

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

◆ GetType()

SymbolType SBSymbol::GetType ( )

Definition at line 197 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 237 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 243 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 175 of file SBSymbol.cpp.

References LLDB_INSTRUMENT_VA, and m_opaque_ptr.

◆ IsDebug()

bool SBSymbol::IsDebug ( )

Returns true if the symbol is a debug symbol.

Definition at line 229 of file SBSymbol.cpp.

References LLDB_INSTRUMENT_VA, and m_opaque_ptr.

◆ IsExternal()

bool SBSymbol::IsExternal ( )

Definition at line 213 of file SBSymbol.cpp.

References LLDB_INSTRUMENT_VA, and m_opaque_ptr.

◆ IsSynthetic()

bool SBSymbol::IsSynthetic ( )

Definition at line 221 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 97 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 91 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 149 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 125 of file SBSymbol.h.

References SBAddress.

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

◆ SBFrame

friend class SBFrame
friend

Definition at line 126 of file SBSymbol.h.

References SBFrame.

Referenced by SBFrame.

◆ SBModule

friend class SBModule
friend

Definition at line 127 of file SBSymbol.h.

References SBModule.

Referenced by SBModule.

◆ SBSymbolContext

friend class SBSymbolContext
friend

Definition at line 128 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: