LLDB mainline
Public Member Functions | Static Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
lldb_private::Symbol Class Reference

#include <Symbol.h>

Inheritance diagram for lldb_private::Symbol:
Inheritance graph
[legend]

Public Member Functions

 Symbol ()
 
 Symbol (uint32_t symID, llvm::StringRef name, lldb::SymbolType type, bool external, bool is_debug, bool is_trampoline, bool is_artificial, const lldb::SectionSP &section_sp, lldb::addr_t value, lldb::addr_t size, bool size_is_valid, bool contains_linker_annotations, uint32_t flags)
 
 Symbol (uint32_t symID, const Mangled &mangled, lldb::SymbolType type, bool external, bool is_debug, bool is_trampoline, bool is_artificial, const AddressRange &range, bool size_is_valid, bool contains_linker_annotations, uint32_t flags)
 
 Symbol (const Symbol &rhs)
 
const Symboloperator= (const Symbol &rhs)
 
void Clear ()
 
bool Compare (ConstString name, lldb::SymbolType type) const
 
void Dump (Stream *s, Target *target, uint32_t index, Mangled::NamePreference name_preference=Mangled::ePreferDemangled) const
 
bool ValueIsAddress () const
 
AddressGetAddressRef ()
 
const AddressGetAddressRef () const
 
lldb::addr_t GetFileAddress () const
 
lldb::addr_t GetLoadAddress (Target *target) const
 
Address GetAddress () const
 
uint64_t GetRawValue () const
 Get the raw value of the symbol from the symbol table.
 
uint64_t GetIntegerValue (uint64_t fail_value=0) const
 
lldb::addr_t ResolveCallableAddress (Target &target) const
 
ConstString GetName () const
 
ConstString GetNameNoArguments () const
 
ConstString GetDisplayName () const
 
uint32_t GetID () const
 
lldb::LanguageType GetLanguage () const
 
void SetID (uint32_t uid)
 
MangledGetMangled ()
 
const MangledGetMangled () const
 
ConstString GetReExportedSymbolName () const
 
FileSpec GetReExportedSymbolSharedLibrary () const
 
void SetReExportedSymbolName (ConstString name)
 
bool SetReExportedSymbolSharedLibrary (const FileSpec &fspec)
 
SymbolResolveReExportedSymbol (Target &target) const
 
uint32_t GetSiblingIndex () const
 
lldb::SymbolType GetType () const
 
void SetType (lldb::SymbolType type)
 
const char * GetTypeAsString () const
 
uint32_t GetFlags () const
 
void SetFlags (uint32_t flags)
 
void GetDescription (Stream *s, lldb::DescriptionLevel level, Target *target, std::optional< Stream::HighlightSettings > settings=std::nullopt) const
 
bool IsSynthetic () const
 
bool IsSyntheticWithAutoGeneratedName () const
 
void SetIsSynthetic (bool b)
 
bool GetSizeIsSynthesized () const
 
void SetSizeIsSynthesized (bool b)
 
bool IsDebug () const
 
void SetDebug (bool b)
 
bool IsExternal () const
 
void SetExternal (bool b)
 
bool IsTrampoline () const
 
bool IsIndirect () const
 
bool IsWeak () const
 
void SetIsWeak (bool b)
 
bool GetByteSizeIsValid () const
 
lldb::addr_t GetByteSize () const
 
void SetByteSize (lldb::addr_t size)
 
bool GetSizeIsSibling () const
 
void SetSizeIsSibling (bool b)
 
uint32_t GetPrologueByteSize ()
 
bool GetDemangledNameIsSynthesized () const
 
void SetDemangledNameIsSynthesized (bool b)
 
bool ContainsLinkerAnnotations () const
 
void SetContainsLinkerAnnotations (bool b)
 
void CalculateSymbolContext (SymbolContext *sc) override
 Reconstruct the object's symbol context into sc.
 
lldb::ModuleSP CalculateSymbolContextModule () override
 
SymbolCalculateSymbolContextSymbol () override
 
void DumpSymbolContext (Stream *s) override
 Dump the object's symbol context to the stream s.
 
lldb::DisassemblerSP GetInstructions (const ExecutionContext &exe_ctx, const char *flavor, bool prefer_file_cache)
 
bool GetDisassembly (const ExecutionContext &exe_ctx, const char *flavor, bool prefer_file_cache, Stream &strm)
 
bool ContainsFileAddress (lldb::addr_t file_addr) const
 
bool Decode (const DataExtractor &data, lldb::offset_t *offset_ptr, const SectionList *section_list, const StringTableReader &strtab)
 Decode a serialized version of this object from data.
 
void Encode (DataEncoder &encoder, ConstStringTable &strtab) const
 Encode this object into a data encoder object.
 
bool operator== (const Symbol &rhs) const
 
- Public Member Functions inherited from lldb_private::SymbolContextScope
virtual ~SymbolContextScope ()=default
 
virtual void CalculateSymbolContext (SymbolContext *sc)=0
 Reconstruct the object's symbol context into sc.
 
virtual lldb::ModuleSP CalculateSymbolContextModule ()
 
virtual CompileUnitCalculateSymbolContextCompileUnit ()
 
virtual FunctionCalculateSymbolContextFunction ()
 
virtual BlockCalculateSymbolContextBlock ()
 
virtual SymbolCalculateSymbolContextSymbol ()
 
virtual void DumpSymbolContext (Stream *s)=0
 Dump the object's symbol context to the stream s.
 

Static Public Member Functions

static llvm::Expected< SymbolFromJSON (const JSONSymbol &symbol, SectionList *section_list)
 
static llvm::StringRef GetSyntheticSymbolPrefix ()
 

Protected Member Functions

SymbolResolveReExportedSymbolInModuleSpec (Target &target, ConstString &reexport_name, lldb_private::ModuleSpec &module_spec, lldb_private::ModuleList &seen_modules) const
 
void SynthesizeNameIfNeeded () const
 

Protected Attributes

uint32_t m_uid
 
uint16_t m_type_data = 0
 
uint16_t m_type_data_resolved: 1
 
uint16_t m_is_synthetic: 1
 
uint16_t m_is_debug: 1
 
uint16_t m_is_external: 1
 
uint16_t m_size_is_sibling: 1
 
uint16_t m_size_is_synthesized: 1
 
uint16_t m_size_is_valid: 1
 
uint16_t m_demangled_is_synthesized: 1
 
uint16_t m_contains_linker_annotations: 1
 
uint16_t m_is_weak: 1
 
uint16_t m_type: 6
 
Mangled m_mangled
 
AddressRange m_addr_range
 
uint32_t m_flags = 0
 

Detailed Description

Definition at line 32 of file Symbol.h.

Constructor & Destructor Documentation

◆ Symbol() [1/4]

Symbol::Symbol ( )

Definition at line 29 of file Symbol.cpp.

Referenced by FromJSON().

◆ Symbol() [2/4]

Symbol::Symbol ( uint32_t  symID,
llvm::StringRef  name,
lldb::SymbolType  type,
bool  external,
bool  is_debug,
bool  is_trampoline,
bool  is_artificial,
const lldb::SectionSP section_sp,
lldb::addr_t  value,
lldb::addr_t  size,
bool  size_is_valid,
bool  contains_linker_annotations,
uint32_t  flags 
)

Definition at line 37 of file Symbol.cpp.

◆ Symbol() [3/4]

Symbol::Symbol ( uint32_t  symID,
const Mangled mangled,
lldb::SymbolType  type,
bool  external,
bool  is_debug,
bool  is_trampoline,
bool  is_artificial,
const AddressRange range,
bool  size_is_valid,
bool  contains_linker_annotations,
uint32_t  flags 
)

Definition at line 51 of file Symbol.cpp.

◆ Symbol() [4/4]

Symbol::Symbol ( const Symbol rhs)

Definition at line 66 of file Symbol.cpp.

Member Function Documentation

◆ CalculateSymbolContext()

void Symbol::CalculateSymbolContext ( SymbolContext sc)
overridevirtual

Reconstruct the object's symbol context into sc.

The object should fill in as much of the SymbolContext as it can so function calls that require a symbol context can be made for the given object.

Parameters
[out]scA symbol context object pointer that gets filled in.
See also
SymbolContextScope

Implements lldb_private::SymbolContextScope.

Definition at line 436 of file Symbol.cpp.

References GetAddressRef(), lldb_private::Address::GetModule(), lldb_private::SymbolContext::module_sp, lldb_private::SymbolContext::symbol, and ValueIsAddress().

◆ CalculateSymbolContextModule()

ModuleSP Symbol::CalculateSymbolContextModule ( )
overridevirtual

◆ CalculateSymbolContextSymbol()

Symbol * Symbol::CalculateSymbolContextSymbol ( )
overridevirtual

◆ Clear()

void Symbol::Clear ( )

◆ Compare()

bool Symbol::Compare ( ConstString  name,
lldb::SymbolType  type 
) const

◆ ContainsFileAddress()

bool Symbol::ContainsFileAddress ( lldb::addr_t  file_addr) const

◆ ContainsLinkerAnnotations()

bool lldb_private::Symbol::ContainsLinkerAnnotations ( ) const
inline

Definition at line 231 of file Symbol.h.

References m_contains_linker_annotations.

Referenced by lldb_private::Symtab::InitNameIndexes().

◆ Decode()

bool Symbol::Decode ( const DataExtractor data,
lldb::offset_t offset_ptr,
const SectionList section_list,
const StringTableReader strtab 
)

Decode a serialized version of this object from data.

Parameters
dataThe decoder object that references the serialized data.
offset_ptrA pointer that contains the offset from which the data will be decoded from that gets updated as data gets decoded.
section_listA section list that allows lldb_private::Address objects to be filled in. The address information for symbols are serilized as file addresses and must be converted into Address objects with the right section and offset.
strtabAll strings in cache files are put into string tables for efficiency and cache file size reduction. Strings are stored as uint32_t string table offsets in the cache data.
Returns
True if the symbol is successfully decoded, false otherwise.

Definition at line 647 of file Symbol.cpp.

References lldb_private::Address::Clear(), lldb_private::Mangled::Decode(), lldb_private::AddressRange::GetBaseAddress(), lldb_private::DataExtractor::GetU16(), lldb_private::DataExtractor::GetU32(), lldb_private::DataExtractor::GetU64(), lldb_private::DataExtractor::GetU8(), m_addr_range, m_contains_linker_annotations, m_demangled_is_synthesized, m_flags, m_is_debug, m_is_external, m_is_synthetic, m_is_weak, m_mangled, m_size_is_sibling, m_size_is_synthesized, m_size_is_valid, m_type, m_type_data, m_type_data_resolved, m_uid, lldb_private::Address::ResolveAddressUsingFileSections(), lldb_private::AddressRange::SetByteSize(), lldb_private::Address::SetOffset(), and lldb_private::DataExtractor::ValidOffsetForDataOfSize().

◆ Dump()

void Symbol::Dump ( Stream s,
Target target,
uint32_t  index,
Mangled::NamePreference  name_preference = Mangled::ePreferDemangled 
) const

◆ DumpSymbolContext()

void Symbol::DumpSymbolContext ( Stream s)
overridevirtual

Dump the object's symbol context to the stream s.

The object should dump its symbol context to the stream s. This function is widely used in the DumpDebug and verbose output for lldb objects.

Parameters
[in]sThe stream to which to dump the object's symbol context.
See also
SymbolContextScope

Implements lldb_private::SymbolContextScope.

Definition at line 453 of file Symbol.cpp.

References GetAddressRef(), GetID(), lldb_private::Stream::Printf(), lldb_private::Stream::PutCString(), and ValueIsAddress().

◆ Encode()

void Symbol::Encode ( DataEncoder file,
ConstStringTable strtab 
) const

Encode this object into a data encoder object.

The encoding format for the symbol is as follows:

This allows this object to be serialized to disk.

Parameters
encoderA data encoder object that serialized bytes will be encoded into.
strtabAll strings in cache files are put into string tables for efficiency and cache file size reduction. Strings are stored as uint32_t string table offsets in the cache data.

uint32_t m_uid; uint16_t m_type_data; uint16_t bitfield_data; Mangled mangled; uint8_t is_addr; uint64_t file_addr_or_value; uint64_t size; uint32_t flags;

The only tricky thing in this encoding is encoding all of the bits in the bitfields. We use a trick to store all bitfields as a 16 bit value and we do the same thing when decoding the symbol. There are test that ensure this encoding works for each individual bit. Everything else is very easy to store.

Definition at line 700 of file Symbol.cpp.

References lldb_private::DataEncoder::AppendU16(), lldb_private::DataEncoder::AppendU32(), lldb_private::DataEncoder::AppendU64(), lldb_private::DataEncoder::AppendU8(), lldb_private::Mangled::Encode(), lldb_private::AddressRange::GetBaseAddress(), lldb_private::AddressRange::GetByteSize(), lldb_private::Address::GetFileAddress(), lldb_private::Address::GetSection(), m_addr_range, m_contains_linker_annotations, m_demangled_is_synthesized, m_flags, m_is_debug, m_is_external, m_is_synthetic, m_is_weak, m_mangled, m_size_is_sibling, m_size_is_synthesized, m_size_is_valid, m_type, m_type_data, m_type_data_resolved, and m_uid.

◆ FromJSON()

llvm::Expected< Symbol > Symbol::FromJSON ( const JSONSymbol symbol,
SectionList section_list 
)
static

◆ GetAddress()

Address lldb_private::Symbol::GetAddress ( ) const
inline

Definition at line 88 of file Symbol.h.

References lldb_private::AddressRange::GetBaseAddress(), m_addr_range, and ValueIsAddress().

Referenced by lldb_private::ClangExpressionDeclMap::AddOneFunction(), lldb_private::ClangExpressionDeclMap::AddOneGenericVariable(), lldb_private::AppleObjCTrampolineHandler::AppleObjCTrampolineHandler(), lldb_private::Process::CreateBreakpointSite(), lldb_private::ThreadPlanShouldStopHere::DefaultStepFromHereCallback(), lldb_private::SymbolContext::FindBestGlobalDataSymbol(), findSymbolAddress(), lldb_private::ArchitectureMips::GetBreakableLoadAddress(), lldb_private::CommandObjectDisassemble::GetCurrentFunctionRanges(), ObjectFileMachO::GetEntryPointAddress(), lldb_private::ItaniumABILanguageRuntime::GetExceptionObjectForThread(), lldb_private::breakpad::SymbolFileBreakpad::GetParameterStackSize(), lldb_private::AppleObjCRuntime::GetPrintForDebuggerAddr(), lldb_private::DynamicLoaderDarwin::GetPthreadSetSpecificAddress(), lldb_private::StackFrameRecognizerManager::GetRecognizerForFrame(), lldb_private::DynamicLoaderDarwin::GetStartAddress(), lldb_private::DynamicLoaderDarwin::GetStepThroughTrampolinePlan(), JITLoaderGDB::GetSymbolAddress(), lldb_private::AppleObjCTrampolineHandler::AppleObjCVTables::InitializeVTableSymbols(), DynamicLoaderDarwinKernel::LoadKernelModuleIfNeeded(), DynamicLoaderFreeBSDKernel::LoadKernelModules(), SymbolFileSymtab::ParseFunctions(), DynamicLoaderFreeBSDKernel::ReadAllKmods(), ResolveCallableAddress(), DYLDRendezvous::ResolveRendezvousAddress(), lldb_private::BreakpointResolverName::SearchCallback(), and lldb_private::ThreadPlanStepInRange::ShouldStop().

◆ GetAddressRef() [1/2]

Address & lldb_private::Symbol::GetAddressRef ( )
inline

Definition at line 72 of file Symbol.h.

References lldb_private::AddressRange::GetBaseAddress(), and m_addr_range.

Referenced by lldb_private::InstrumentationRuntimeMainThreadChecker::Activate(), lldb_private::InstrumentationRuntimeTSan::Activate(), lldb_private::InstrumentationRuntimeUBSan::Activate(), lldb_private::DynamicLoaderDarwin::AlwaysRelyOnEHUnwindInfo(), DynamicLoaderPOSIXDYLD::AlwaysRelyOnEHUnwindInfo(), ObjectFilePECOFF::AppendFromCOFFSymbolTable(), ObjectFilePECOFF::AppendFromExportTable(), lldb_private::SymbolContextList::AppendIfUnique(), lldb_private::AppleObjCTrampolineHandler::AppleObjCTrampolineHandler(), ApplyELF32ABS32RelRelocation(), ApplyELF64ABS32Relocation(), ApplyELF64ABS64Relocation(), ObjectFileELF::ApplyRelocations(), CalculateSymbolContext(), CalculateSymbolContextModule(), lldb_private::Disassembler::Disassemble(), lldb_private::Address::Dump(), DumpAddressOffsetFromFunction(), lldb_private::SymbolContext::DumpStopContext(), DumpSymbolContext(), ExtractRuntimeGlobalSymbol(), lldb_private::Module::FindFunctions(), fixupExternalAddrZeroVariable(), lldb_private::ObjectFile::GetAddressClass(), ObjectFileMachO::GetAddressClass(), lldb_private::SymbolContext::GetAddressRange(), DynamicLoaderMacOS::GetDyldLockVariableAddressFromModule(), lldb::SBSymbol::GetEndAddress(), GetFileAddress(), lldb_private::plugin::dwarf::SymbolFileDWARFDebugMap::CompileUnitInfo::GetFileRangeMap(), lldb::SBSymbol::GetInstructions(), lldb_private::AppleObjCRuntimeV1::GetISAHashTablePointer(), GetLoadAddress(), lldb::SBSymbol::GetStartAddress(), lldb_private::plugin::dwarf::SymbolFileDWARFDebugMap::InitOSO(), lldb_private::ThreadPlanStepRange::InSymbol(), LookupSymbolInModule(), SymbolFileSymtab::ParseFunctions(), ObjectFileCOFF::ParseSymtab(), ObjectFileELF::ParseSymtab(), ObjectFileMachO::ParseSymtab(), and lldb_private::ReportRetriever::SetupBreakpoint().

◆ GetAddressRef() [2/2]

const Address & lldb_private::Symbol::GetAddressRef ( ) const
inline

Definition at line 74 of file Symbol.h.

References lldb_private::AddressRange::GetBaseAddress(), and m_addr_range.

◆ GetByteSize()

lldb::addr_t Symbol::GetByteSize ( ) const

◆ GetByteSizeIsValid()

bool lldb_private::Symbol::GetByteSizeIsValid ( ) const
inline

◆ GetDemangledNameIsSynthesized()

bool lldb_private::Symbol::GetDemangledNameIsSynthesized ( ) const
inline

◆ GetDescription()

void Symbol::GetDescription ( Stream s,
lldb::DescriptionLevel  level,
Target target,
std::optional< Stream::HighlightSettings settings = std::nullopt 
) const

◆ GetDisassembly()

bool Symbol::GetDisassembly ( const ExecutionContext exe_ctx,
const char *  flavor,
bool  prefer_file_cache,
Stream strm 
)

Definition at line 601 of file Symbol.cpp.

References GetInstructions().

◆ GetDisplayName()

ConstString Symbol::GetDisplayName ( ) const

◆ GetFileAddress()

lldb::addr_t Symbol::GetFileAddress ( ) const

◆ GetFlags()

uint32_t lldb_private::Symbol::GetFlags ( ) const
inline

Definition at line 174 of file Symbol.h.

References m_flags.

Referenced by ObjectFileMachO::GetAddressClass(), and GetLocalEntryOffset().

◆ GetID()

uint32_t lldb_private::Symbol::GetID ( ) const
inline

◆ GetInstructions()

lldb::DisassemblerSP Symbol::GetInstructions ( const ExecutionContext exe_ctx,
const char *  flavor,
bool  prefer_file_cache 
)

◆ GetIntegerValue()

uint64_t lldb_private::Symbol::GetIntegerValue ( uint64_t  fail_value = 0) const
inline

◆ GetLanguage()

lldb::LanguageType lldb_private::Symbol::GetLanguage ( ) const
inline

◆ GetLoadAddress()

lldb::addr_t Symbol::GetLoadAddress ( Target target) const

◆ GetMangled() [1/2]

Mangled & lldb_private::Symbol::GetMangled ( )
inline

◆ GetMangled() [2/2]

const Mangled & lldb_private::Symbol::GetMangled ( ) const
inline

Definition at line 151 of file Symbol.h.

References m_mangled, and SynthesizeNameIfNeeded().

◆ GetName()

ConstString Symbol::GetName ( ) const

◆ GetNameNoArguments()

ConstString Symbol::GetNameNoArguments ( ) const

◆ GetPrologueByteSize()

uint32_t Symbol::GetPrologueByteSize ( )

◆ GetRawValue()

uint64_t lldb_private::Symbol::GetRawValue ( ) const
inline

Get the raw value of the symbol from the symbol table.

If the symbol's value is an address, return the file address, else return the raw value that is stored in the m_addr_range. If the base address has no section, then getting the file address will return the correct value as it will return the offset in the base address which is the value.

Definition at line 109 of file Symbol.h.

References lldb_private::AddressRange::GetBaseAddress(), lldb_private::Address::GetFileAddress(), and m_addr_range.

Referenced by lldb::SBSymbol::GetValue(), and LookupSymbolInModule().

◆ GetReExportedSymbolName()

ConstString Symbol::GetReExportedSymbolName ( ) const

◆ GetReExportedSymbolSharedLibrary()

FileSpec Symbol::GetReExportedSymbolSharedLibrary ( ) const

◆ GetSiblingIndex()

uint32_t Symbol::GetSiblingIndex ( ) const

◆ GetSizeIsSibling()

bool lldb_private::Symbol::GetSizeIsSibling ( ) const
inline

Definition at line 217 of file Symbol.h.

References m_size_is_sibling.

Referenced by SymbolFileSymtab::ParseFunctions().

◆ GetSizeIsSynthesized()

bool lldb_private::Symbol::GetSizeIsSynthesized ( ) const
inline

Definition at line 188 of file Symbol.h.

References m_size_is_synthesized.

◆ GetSyntheticSymbolPrefix()

static llvm::StringRef lldb_private::Symbol::GetSyntheticSymbolPrefix ( )
inlinestatic

◆ GetType()

lldb::SymbolType lldb_private::Symbol::GetType ( ) const
inline

◆ GetTypeAsString()

const char * Symbol::GetTypeAsString ( ) const

Definition at line 399 of file Symbol.cpp.

References ENUM_TO_CSTRING, lldb_private::Exception, lldb_private::Invalid, and m_type.

Referenced by Dump().

◆ IsDebug()

bool lldb_private::Symbol::IsDebug ( ) const
inline

◆ IsExternal()

bool lldb_private::Symbol::IsExternal ( ) const
inline

◆ IsIndirect()

bool Symbol::IsIndirect ( ) const

◆ IsSynthetic()

bool lldb_private::Symbol::IsSynthetic ( ) const
inline

◆ IsSyntheticWithAutoGeneratedName()

bool Symbol::IsSyntheticWithAutoGeneratedName ( ) const

◆ IsTrampoline()

bool Symbol::IsTrampoline ( ) const

◆ IsWeak()

bool lldb_private::Symbol::IsWeak ( ) const
inline

Definition at line 204 of file Symbol.h.

References m_is_weak.

Referenced by lldb_private::Symtab::FileRangeToIndexMapCompare::rank().

◆ operator=()

const Symbol & Symbol::operator= ( const Symbol rhs)

◆ operator==()

bool Symbol::operator== ( const Symbol rhs) const

◆ ResolveCallableAddress()

lldb::addr_t Symbol::ResolveCallableAddress ( Target target) const

◆ ResolveReExportedSymbol()

Symbol * Symbol::ResolveReExportedSymbol ( Target target) const

◆ ResolveReExportedSymbolInModuleSpec()

Symbol * Symbol::ResolveReExportedSymbolInModuleSpec ( Target target,
ConstString reexport_name,
lldb_private::ModuleSpec module_spec,
lldb_private::ModuleList seen_modules 
) const
protected

◆ SetByteSize()

void lldb_private::Symbol::SetByteSize ( lldb::addr_t  size)
inline

◆ SetContainsLinkerAnnotations()

void lldb_private::Symbol::SetContainsLinkerAnnotations ( bool  b)
inline

Definition at line 234 of file Symbol.h.

References m_contains_linker_annotations.

◆ SetDebug()

void lldb_private::Symbol::SetDebug ( bool  b)
inline

Definition at line 194 of file Symbol.h.

References m_is_debug.

Referenced by ObjectFileMachO::ParseSymtab().

◆ SetDemangledNameIsSynthesized()

void lldb_private::Symbol::SetDemangledNameIsSynthesized ( bool  b)
inline

◆ SetExternal()

void lldb_private::Symbol::SetExternal ( bool  b)
inline

◆ SetFlags()

void lldb_private::Symbol::SetFlags ( uint32_t  flags)
inline

Definition at line 176 of file Symbol.h.

References m_flags.

Referenced by ObjectFileMachO::ParseSymtab().

◆ SetID()

void lldb_private::Symbol::SetID ( uint32_t  uid)
inline

Definition at line 144 of file Symbol.h.

References m_uid.

Referenced by ObjectFilePECOFF::AppendFromExportTable(), and ObjectFileMachO::ParseSymtab().

◆ SetIsSynthetic()

void lldb_private::Symbol::SetIsSynthetic ( bool  b)
inline

Definition at line 186 of file Symbol.h.

References m_is_synthetic.

Referenced by ObjectFileMachO::ParseSymtab().

◆ SetIsWeak()

void lldb_private::Symbol::SetIsWeak ( bool  b)
inline

Definition at line 206 of file Symbol.h.

References m_is_weak.

Referenced by ObjectFileELF::ParseSymbols(), and ObjectFileMachO::ParseSymtab().

◆ SetReExportedSymbolName()

void Symbol::SetReExportedSymbolName ( ConstString  name)

◆ SetReExportedSymbolSharedLibrary()

bool Symbol::SetReExportedSymbolSharedLibrary ( const FileSpec fspec)

◆ SetSizeIsSibling()

void lldb_private::Symbol::SetSizeIsSibling ( bool  b)
inline

Definition at line 219 of file Symbol.h.

References m_size_is_sibling.

Referenced by ObjectFileMachO::ParseSymtab().

◆ SetSizeIsSynthesized()

void lldb_private::Symbol::SetSizeIsSynthesized ( bool  b)
inline

Definition at line 190 of file Symbol.h.

References m_size_is_synthesized.

Referenced by lldb_private::Symtab::InitAddressIndexes().

◆ SetType()

void lldb_private::Symbol::SetType ( lldb::SymbolType  type)
inline

◆ SynthesizeNameIfNeeded()

void Symbol::SynthesizeNameIfNeeded ( ) const
protected

◆ ValueIsAddress()

bool Symbol::ValueIsAddress ( ) const

Definition at line 165 of file Symbol.cpp.

References lldb_private::AddressRange::GetBaseAddress(), lldb_private::Address::GetSection(), and m_addr_range.

Referenced by lldb_private::InstrumentationRuntimeMainThreadChecker::Activate(), lldb_private::InstrumentationRuntimeTSan::Activate(), lldb_private::InstrumentationRuntimeUBSan::Activate(), lldb_private::SymbolContextList::AppendIfUnique(), lldb_private::AppleObjCTrampolineHandler::AppleObjCTrampolineHandler(), CalculateSymbolContext(), CalculateSymbolContextModule(), lldb_private::ThreadPlanShouldStopHere::DefaultStepFromHereCallback(), lldb_private::Disassembler::Disassemble(), lldb_private::Address::Dump(), Dump(), DumpAddressOffsetFromFunction(), lldb_private::SymbolContext::DumpStopContext(), DumpSymbolContext(), ExtractRuntimeGlobalSymbol(), lldb_private::Module::FindFunctions(), fixupExternalAddrZeroVariable(), GetAddress(), lldb_private::ObjectFile::GetAddressClass(), ObjectFileMachO::GetAddressClass(), lldb_private::SymbolContext::GetAddressRange(), lldb_private::CommandObjectDisassemble::GetCurrentFunctionRanges(), GetDescription(), DynamicLoaderMacOS::GetDyldLockVariableAddressFromModule(), lldb::SBSymbol::GetEndAddress(), GetFileAddress(), lldb_private::plugin::dwarf::SymbolFileDWARFDebugMap::CompileUnitInfo::GetFileRangeMap(), lldb_private::SymbolContext::GetFunctionName(), lldb::SBSymbol::GetInstructions(), GetIntegerValue(), lldb_private::AppleObjCRuntimeV1::GetISAHashTablePointer(), GetLoadAddress(), lldb::SBSymbol::GetStartAddress(), lldb_private::ThreadPlanStepRange::InSymbol(), LookupSymbolInModule(), and lldb_private::ReportRetriever::SetupBreakpoint().

Member Data Documentation

◆ m_addr_range

AddressRange lldb_private::Symbol::m_addr_range
protected

◆ m_contains_linker_annotations

uint16_t lldb_private::Symbol::m_contains_linker_annotations
protected

◆ m_demangled_is_synthesized

uint16_t lldb_private::Symbol::m_demangled_is_synthesized
protected

◆ m_flags

uint32_t lldb_private::Symbol::m_flags = 0
protected

Definition at line 345 of file Symbol.h.

Referenced by Clear(), Decode(), Dump(), Encode(), GetFlags(), operator=(), operator==(), and SetFlags().

◆ m_is_debug

uint16_t lldb_private::Symbol::m_is_debug
protected

Definition at line 324 of file Symbol.h.

Referenced by Clear(), Decode(), Dump(), Encode(), IsDebug(), operator=(), operator==(), and SetDebug().

◆ m_is_external

uint16_t lldb_private::Symbol::m_is_external
protected

Definition at line 326 of file Symbol.h.

Referenced by Clear(), Decode(), Dump(), Encode(), IsExternal(), operator=(), operator==(), and SetExternal().

◆ m_is_synthetic

uint16_t lldb_private::Symbol::m_is_synthetic
protected

◆ m_is_weak

uint16_t lldb_private::Symbol::m_is_weak
protected

Definition at line 339 of file Symbol.h.

Referenced by Clear(), Decode(), Encode(), IsWeak(), operator=(), operator==(), and SetIsWeak().

◆ m_mangled

Mangled lldb_private::Symbol::m_mangled
mutableprotected

◆ m_size_is_sibling

uint16_t lldb_private::Symbol::m_size_is_sibling
protected

◆ m_size_is_synthesized

uint16_t lldb_private::Symbol::m_size_is_synthesized
protected

◆ m_size_is_valid

uint16_t lldb_private::Symbol::m_size_is_valid
protected

Definition at line 332 of file Symbol.h.

Referenced by Clear(), Decode(), Encode(), GetByteSizeIsValid(), operator=(), operator==(), and SetByteSize().

◆ m_type

uint16_t lldb_private::Symbol::m_type
protected

◆ m_type_data

uint16_t lldb_private::Symbol::m_type_data = 0
protected

Definition at line 318 of file Symbol.h.

Referenced by Clear(), Decode(), Encode(), GetPrologueByteSize(), operator=(), and operator==().

◆ m_type_data_resolved

uint16_t lldb_private::Symbol::m_type_data_resolved
protected

Definition at line 319 of file Symbol.h.

Referenced by Clear(), Decode(), Encode(), GetPrologueByteSize(), operator=(), and operator==().

◆ m_uid

uint32_t lldb_private::Symbol::m_uid
protected
Initial value:
=
#define UINT32_MAX
Definition: lldb-defines.h:19

Definition at line 316 of file Symbol.h.

Referenced by Clear(), Decode(), Encode(), GetDescription(), GetID(), operator=(), operator==(), and SetID().


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