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]
Collaboration diagram for lldb_private::Symbol:
Collaboration 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 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)
 
Mangled & GetMangled ()
 
const Mangled & GetMangled () 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) 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. More...
 
lldb::ModuleSP CalculateSymbolContextModule () override
 
SymbolCalculateSymbolContextSymbol () override
 
void DumpSymbolContext (Stream *s) override
 Dump the object's symbol context to the stream s. More...
 
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. More...
 
void Encode (DataEncoder &encoder, ConstStringTable &strtab) const
 Encode this object into a data encoder object. More...
 
bool operator== (const Symbol &rhs) const
 
- Public Member Functions inherited from lldb_private::SymbolContextScope
virtual ~SymbolContextScope ()=default
 
virtual CompileUnitCalculateSymbolContextCompileUnit ()
 
virtual FunctionCalculateSymbolContextFunction ()
 
virtual BlockCalculateSymbolContextBlock ()
 

Static Public Member Functions

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 20 of file Symbol.h.

Constructor & Destructor Documentation

◆ Symbol() [1/4]

Symbol::Symbol ( )

Definition at line 26 of file Symbol.cpp.

◆ 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 34 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 48 of file Symbol.cpp.

◆ Symbol() [4/4]

Symbol::Symbol ( const Symbol rhs)

Definition at line 63 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 383 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 205 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 599 of file Symbol.cpp.

References lldb_private::Address::Clear(), 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 400 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 652 of file Symbol.cpp.

References 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.

◆ GetAddress()

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

Definition at line 73 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::GetStepThroughTrampolinePlan(), JITLoaderGDB::GetSymbolAddress(), lldb_private::ClangExpressionDeclMap::GetSymbolAddress(), lldb_private::AppleObjCTrampolineHandler::AppleObjCVTables::InitializeVTableSymbols(), DynamicLoaderDarwinKernel::LoadKernelModuleIfNeeded(), SymbolFileSymtab::ParseFunctions(), ResolveCallableAddress(), DYLDRendezvous::ResolveRendezvousAddress(), lldb_private::BreakpointResolverName::SearchCallback(), lldb_private::lldb_renderscript::RSBreakpointResolver::SearchCallback(), lldb_private::lldb_renderscript::RSScriptGroupBreakpointResolver::SearchCallback(), and lldb_private::ThreadPlanStepInRange::ShouldStop().

◆ GetAddressRef() [1/2]

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

Definition at line 57 of file Symbol.h.

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

Referenced by lldb_private::InstrumentationRuntimeASan::Activate(), lldb_private::InstrumentationRuntimeTSan::Activate(), lldb_private::InstrumentationRuntimeMainThreadChecker::Activate(), lldb_private::InstrumentationRuntimeUBSan::Activate(), lldb_private::DynamicLoaderDarwin::AlwaysRelyOnEHUnwindInfo(), DynamicLoaderPOSIXDYLD::AlwaysRelyOnEHUnwindInfo(), lldb_private::SymbolContextList::AppendIfUnique(), lldb_private::AppleObjCTrampolineHandler::AppleObjCTrampolineHandler(), ObjectFileELF::ApplyRelocations(), CalculateSymbolContext(), CalculateSymbolContextModule(), lldb_private::Disassembler::Disassemble(), CommandObjectSourceList::DoExecute(), lldb_private::Address::Dump(), DumpAddressOffsetFromFunction(), CommandObjectSourceInfo::DumpLinesInFunctions(), lldb_private::SymbolContext::DumpStopContext(), DumpSymbolContext(), ExtractRuntimeGlobalSymbol(), lldb_private::Module::FindFunctions(), ObjectFileMachO::GetAddressClass(), lldb_private::ObjectFile::GetAddressClass(), lldb_private::SymbolContext::GetAddressRange(), DynamicLoaderMacOS::GetDyldLockVariableAddressFromModule(), lldb::SBSymbol::GetEndAddress(), GetFileAddress(), SymbolFileDWARFDebugMap::CompileUnitInfo::GetFileRangeMap(), lldb::SBSymbol::GetInstructions(), lldb_private::AppleObjCRuntimeV1::GetISAHashTablePointer(), GetLoadAddress(), lldb::SBSymbol::GetStartAddress(), SymbolFileDWARFDebugMap::InitOSO(), lldb_private::ThreadPlanStepRange::InSymbol(), LookupSymbolInModule(), SymbolFileSymtab::ParseFunctions(), lldb_private::lldb_renderscript::RSModuleDescriptor::ParseRSInfo(), ObjectFileMachO::ParseSymtab(), ObjectFilePECOFF::ParseSymtab(), ObjectFileELF::ParseSymtab(), and SymbolFileDWARF::ParseVariableDIE().

◆ GetAddressRef() [2/2]

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

Definition at line 59 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

Definition at line 182 of file Symbol.h.

References m_size_is_valid.

Referenced by ObjectFileELF::ParseUnwindSymbols().

◆ GetDemangledNameIsSynthesized()

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

◆ GetDescription()

void Symbol::GetDescription ( Stream s,
lldb::DescriptionLevel  level,
Target target 
) const

◆ GetDisassembly()

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

Definition at line 554 of file Symbol.cpp.

References GetInstructions().

◆ GetDisplayName()

ConstString Symbol::GetDisplayName ( ) const

Definition at line 122 of file Symbol.cpp.

References GetMangled().

Referenced by lldb::SBFrame::GetDisplayFunctionName().

◆ GetFileAddress()

lldb::addr_t Symbol::GetFileAddress ( ) const

◆ GetFlags()

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

Definition at line 149 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 126 of file Symbol.h.

References m_mangled, and SynthesizeNameIfNeeded().

◆ GetName()

ConstString Symbol::GetName ( ) const

◆ GetNameNoArguments()

ConstString Symbol::GetNameNoArguments ( ) const

Definition at line 503 of file Symbol.cpp.

References GetMangled().

Referenced by lldb_private::FormatEntity::Format().

◆ GetPrologueByteSize()

uint32_t Symbol::GetPrologueByteSize ( )

◆ 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 191 of file Symbol.h.

References m_size_is_sibling.

Referenced by SymbolFileSymtab::ParseFunctions().

◆ GetSizeIsSynthesized()

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

Definition at line 162 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 346 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 178 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 208 of file Symbol.h.

References m_contains_linker_annotations.

◆ SetDebug()

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

Definition at line 168 of file Symbol.h.

References m_is_debug.

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

◆ SetDemangledNameIsSynthesized()

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

Definition at line 203 of file Symbol.h.

References m_demangled_is_synthesized.

Referenced by ObjectFileMachO::ParseSymtab().

◆ SetExternal()

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

Definition at line 172 of file Symbol.h.

References m_is_external.

Referenced by ObjectFileMachO::ParseSymtab().

◆ SetFlags()

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

Definition at line 151 of file Symbol.h.

References m_flags.

Referenced by ObjectFileMachO::ParseSymtab().

◆ SetID()

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

Definition at line 119 of file Symbol.h.

References m_uid.

Referenced by ObjectFileMachO::ParseSymtab().

◆ SetIsSynthetic()

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

Definition at line 160 of file Symbol.h.

References m_is_synthetic.

Referenced by ObjectFileMachO::ParseSymtab().

◆ SetIsWeak()

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

Definition at line 180 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 193 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 164 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

Definition at line 581 of file Symbol.cpp.

References GetID(), GetSyntheticSymbolPrefix(), m_is_synthetic, and m_mangled.

Referenced by GetMangled().

◆ ValueIsAddress()

bool Symbol::ValueIsAddress ( ) const

Definition at line 117 of file Symbol.cpp.

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

Referenced by lldb_private::InstrumentationRuntimeASan::Activate(), lldb_private::InstrumentationRuntimeTSan::Activate(), lldb_private::InstrumentationRuntimeMainThreadChecker::Activate(), lldb_private::InstrumentationRuntimeUBSan::Activate(), lldb_private::SymbolContextList::AppendIfUnique(), lldb_private::AppleObjCTrampolineHandler::AppleObjCTrampolineHandler(), CalculateSymbolContext(), CalculateSymbolContextModule(), lldb_private::ThreadPlanShouldStopHere::DefaultStepFromHereCallback(), lldb_private::Disassembler::Disassemble(), CommandObjectSourceList::DoExecute(), Dump(), lldb_private::Address::Dump(), DumpAddressOffsetFromFunction(), CommandObjectSourceInfo::DumpLinesInFunctions(), lldb_private::SymbolContext::DumpStopContext(), DumpSymbolContext(), ExtractRuntimeGlobalSymbol(), lldb_private::Module::FindFunctions(), GetAddress(), ObjectFileMachO::GetAddressClass(), lldb_private::ObjectFile::GetAddressClass(), lldb_private::SymbolContext::GetAddressRange(), lldb_private::CommandObjectDisassemble::GetCurrentFunctionRanges(), GetDescription(), DynamicLoaderMacOS::GetDyldLockVariableAddressFromModule(), lldb::SBSymbol::GetEndAddress(), GetFileAddress(), 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 SymbolFileDWARF::ParseVariableDIE().

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 319 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 298 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 300 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 313 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 306 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 292 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 293 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:

Definition at line 290 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:
UINT32_MAX
#define UINT32_MAX
Definition: lldb-defines.h:19