LLDB mainline
|
Defines a list of symbol context objects. More...
#include "lldb/Symbol/SymbolContext.h"
Public Types | |
typedef AdaptedIterable< collection, SymbolContext, vector_adapter > | SymbolContextIterable |
Public Member Functions | |
SymbolContextList () | |
Default constructor. | |
~SymbolContextList () | |
Destructor. | |
void | Append (const SymbolContext &sc) |
Append a new symbol context to the list. | |
void | Append (const SymbolContextList &sc_list) |
bool | AppendIfUnique (const SymbolContext &sc, bool merge_symbol_into_function) |
uint32_t | AppendIfUnique (const SymbolContextList &sc_list, bool merge_symbol_into_function) |
void | Clear () |
Clear the object's state. | |
void | Dump (Stream *s, Target *target) const |
Dump a description of this object to a Stream. | |
bool | GetContextAtIndex (size_t idx, SymbolContext &sc) const |
Get accessor for a symbol context at index idx. | |
SymbolContext & | operator[] (size_t idx) |
Direct reference accessor for a symbol context at index idx. | |
const SymbolContext & | operator[] (size_t idx) const |
bool | RemoveContextAtIndex (size_t idx) |
uint32_t | GetSize () const |
Get accessor for a symbol context list size. | |
bool | IsEmpty () const |
uint32_t | NumLineEntriesWithLine (uint32_t line) const |
void | GetDescription (Stream *s, lldb::DescriptionLevel level, Target *target) const |
const_iterator | begin () const |
const_iterator | end () const |
SymbolContextIterable | SymbolContexts () |
Protected Types | |
typedef std::vector< SymbolContext > | collection |
The collection type for the list. | |
typedef collection::const_iterator | const_iterator |
Protected Attributes | |
collection | m_symbol_contexts |
The list of symbol contexts. | |
Defines a list of symbol context objects.
This class provides a common structure that can be used to contain the result of a query that can contain a multiple results. Examples of such queries include:
Definition at line 375 of file SymbolContext.h.
|
protected |
The collection type for the list.
Definition at line 462 of file SymbolContext.h.
|
protected |
Definition at line 463 of file SymbolContext.h.
typedef AdaptedIterable<collection, SymbolContext, vector_adapter> lldb_private::SymbolContextList::SymbolContextIterable |
Definition at line 473 of file SymbolContext.h.
SymbolContextList::SymbolContextList | ( | ) |
Default constructor.
Initialize with an empty list.
Definition at line 1192 of file SymbolContext.cpp.
|
default |
Destructor.
void SymbolContextList::Append | ( | const SymbolContext & | sc | ) |
Append a new symbol context to the list.
[in] | sc | A symbol context to append to the list. |
Definition at line 1196 of file SymbolContext.cpp.
References m_symbol_contexts.
Referenced by CommandObjectTargetVariable::DoExecute(), CommandObjectSourceList::DoExecute(), CommandObjectTargetModulesShowUnwind::DoExecute(), CommandObjectSourceInfo::DumpLinesForFrame(), CommandObjectSourceInfo::DumpLinesInFunctions(), lldb_private::Module::FindCompileUnits(), lldb_private::SymbolFileCTF::FindFunctions(), lldb_private::breakpad::SymbolFileBreakpad::FindFunctions(), lldb_private::npdb::SymbolFileNativePDB::FindFunctions(), lldb_private::Module::FindFunctions(), lldb_private::LineTable::FindLineEntriesForFileIndex(), lldb_private::ClangASTSource::FindObjCMethodDecls(), lldb::SBModule::FindSymbols(), lldb_private::plugin::dwarf::SymbolFileDWARF::ResolveFunction(), SymbolFilePDB::ResolveFunction(), lldb_private::CompileUnit::ResolveSymbolContext(), lldb_private::ClangExpressionDeclMap::SearchFunctionsInSymbolContexts(), and lldb_private::Module::SymbolIndicesToSymbolContextList().
void SymbolContextList::Append | ( | const SymbolContextList & | sc_list | ) |
Definition at line 1200 of file SymbolContext.cpp.
References end(), and m_symbol_contexts.
bool SymbolContextList::AppendIfUnique | ( | const SymbolContext & | sc, |
bool | merge_symbol_into_function | ||
) |
Definition at line 1217 of file SymbolContext.cpp.
References lldb_private::SymbolContext::block, lldb_private::SymbolContext::comp_unit, end(), lldb_private::SymbolContext::function, lldb_private::Symbol::GetAddressRef(), lldb_private::LineEntry::IsValid(), lldb_private::SymbolContext::line_entry, m_symbol_contexts, lldb_private::SymbolContext::symbol, and lldb_private::Symbol::ValueIsAddress().
Referenced by AppendIfUnique(), CommandObjectSourceInfo::GetSymbolContextsForAddress(), and lldb_private::Symtab::SymbolIndicesToSymbolContextList().
uint32_t SymbolContextList::AppendIfUnique | ( | const SymbolContextList & | sc_list, |
bool | merge_symbol_into_function | ||
) |
Definition at line 1206 of file SymbolContext.cpp.
References AppendIfUnique(), end(), and m_symbol_contexts.
|
inline |
Definition at line 469 of file SymbolContext.h.
References m_symbol_contexts.
void SymbolContextList::Clear | ( | ) |
Clear the object's state.
Clears the symbol context list.
Definition at line 1252 of file SymbolContext.cpp.
References m_symbol_contexts.
Referenced by SystemRuntimeMacOSX::BacktraceRecordingHeadersInitialized(), lldb_private::FileLineResolver::Clear(), lldb_private::LineTable::FindLineEntriesForFileIndex(), lldb_private::ClangASTSource::FindObjCMethodDecls(), and lldb_private::FileLineResolver::Reset().
Dump a description of this object to a Stream.
Dump a description of the contents of each symbol context in the list to the supplied stream s.
[in] | s | The stream to which to dump the object description. |
Definition at line 1254 of file SymbolContext.cpp.
References lldb::eDescriptionLevelVerbose, end(), lldb_private::Stream::EOL(), lldb_private::Stream::Indent(), lldb_private::Stream::IndentLess(), lldb_private::Stream::IndentMore(), m_symbol_contexts, and lldb_private::Stream::PutCString().
|
inline |
Definition at line 470 of file SymbolContext.h.
References m_symbol_contexts.
Referenced by Append(), AppendIfUnique(), Dump(), and lldb_private::Module::FindFunctions().
bool SymbolContextList::GetContextAtIndex | ( | size_t | idx, |
SymbolContext & | sc | ||
) | const |
Get accessor for a symbol context at index idx.
Dump a description of the contents of each symbol context in the list to the supplied stream s.
[in] | idx | The zero based index into the symbol context list. |
[out] | sc | A reference to the symbol context to fill in. |
Definition at line 1270 of file SymbolContext.cpp.
References m_symbol_contexts.
Referenced by SystemRuntimeMacOSX::BacktraceRecordingHeadersInitialized(), lldb_private::SourceManager::File::CommonInitializer(), CommandObjectSourceList::DoExecute(), lldb_private::BreakpointResolverFileLine::FilterContexts(), lldb_private::AppleObjCRuntimeV2::GetByteOffsetForIvar(), lldb_private::AppleObjCRuntimeV2::GetCFBooleanValuesIfNeeded(), ObjectFileMachO::GetEntryPointAddress(), lldb_private::ItaniumABILanguageRuntime::GetExceptionObjectForThread(), lldb_private::AppleObjCRuntime::GetPrintForDebuggerAddr(), lldb_private::DynamicLoaderDarwin::GetPthreadSetSpecificAddress(), JITLoaderGDB::GetSymbolAddress(), lldb_private::InferiorCallMmap(), lldb_private::InferiorCallMunmap(), lldb_private::ObjCLanguageRuntime::LookupInCompleteClassCache(), lldb_private::operator==(), lldb_private::Module::LookupInfo::Prune(), RemoveFunctionsWithModuleNotEqualTo(), lldb_private::BreakpointResolverFileRegex::SearchCallback(), and lldb_private::BreakpointResolverName::SearchCallback().
void SymbolContextList::GetDescription | ( | Stream * | s, |
lldb::DescriptionLevel | level, | ||
Target * | target | ||
) | const |
Definition at line 1300 of file SymbolContext.cpp.
References GetDescription(), and m_symbol_contexts.
Referenced by GetDescription().
uint32_t SymbolContextList::GetSize | ( | ) | const |
Get accessor for a symbol context list size.
Definition at line 1286 of file SymbolContext.cpp.
References m_symbol_contexts.
Referenced by lldb_private::GNUstepObjCRuntime::CreateInstance(), CommandObjectSourceList::DoExecute(), CommandObjectTargetModulesShowUnwind::DoExecute(), CommandObjectSourceInfo::DumpLinesInFunctions(), lldb_private::BreakpointResolverFileLine::FilterContexts(), lldb_private::SymbolFileOnDemand::FindFunctions(), lldb_private::plugin::dwarf::SymbolFileDWARF::FindFunctions(), lldb_private::plugin::dwarf::SymbolFileDWARFDebugMap::FindFunctions(), lldb_private::Module::FindFunctions(), lldb_private::ModuleList::FindFunctionSymbols(), lldb_private::CPPLanguageRuntime::FindLibCppStdFunctionCallableInfo(), lldb_private::ClangASTSource::FindObjCMethodDecls(), CommandObjectSourceList::GetBreakpointLocations(), lldb_private::AppleObjCRuntimeV2::GetByteOffsetForIvar(), lldb_private::AppleObjCRuntimeV2::GetCFBooleanValuesIfNeeded(), ObjectFileMachO::GetEntryPointAddress(), lldb_private::platform_android::PlatformAndroid::GetLibdlFunctionDeclarations(), DynamicLoaderHexagonDYLD::GetStepThroughTrampolinePlan(), DynamicLoaderPOSIXDYLD::GetStepThroughTrampolinePlan(), lldb_private::InferiorCallMmap(), lldb_private::InferiorCallMunmap(), lldb_private::ClangExpressionDeclMap::LookupFunction(), LookupFunctionInModule(), lldb_private::ObjCLanguageRuntime::LookupInCompleteClassCache(), lldb_private::operator==(), lldb_private::DirectCallEdge::ParseSymbolFileAndResolve(), lldb_private::Module::LookupInfo::Prune(), RemoveFunctionsWithModuleNotEqualTo(), lldb_private::breakpad::SymbolFileBreakpad::ResolveSymbolContext(), lldb_private::npdb::SymbolFileNativePDB::ResolveSymbolContext(), lldb_private::Module::ResolveSymbolContextsForFileSpec(), lldb_private::ModuleList::ResolveSymbolContextsForFileSpec(), lldb_private::BreakpointResolverFileRegex::SearchCallback(), lldb_private::BreakpointResolverName::SearchCallback(), and lldb_private::ClangExpressionDeclMap::SearchFunctionsInSymbolContexts().
bool SymbolContextList::IsEmpty | ( | ) | const |
Definition at line 1288 of file SymbolContext.cpp.
References m_symbol_contexts.
Referenced by SystemRuntimeMacOSX::BacktraceRecordingHeadersInitialized(), lldb_private::AppleObjCRuntime::CalculateHasNewLiteralsAndIndexing(), lldb_private::plugin::dwarf::SymbolFileDWARFDebugMap::FindFunctions(), HexagonDYLDRendezvous::FindMetadata(), DYLDRendezvous::FindMetadata(), lldb_private::AppleObjCRuntime::GetPrintForDebuggerAddr(), JITLoaderGDB::GetSymbolAddress(), and LoadAddressResolver::Resolve().
uint32_t SymbolContextList::NumLineEntriesWithLine | ( | uint32_t | line | ) | const |
Definition at line 1290 of file SymbolContext.cpp.
References m_symbol_contexts.
Referenced by lldb_private::SourceManager::DisplaySourceLinesWithLineNumbersUsingLastFile().
|
inline |
Direct reference accessor for a symbol context at index idx.
The index idx must be a valid index, no error checking will be done to ensure that it is valid.
[in] | idx | The zero based index into the symbol context list. |
Definition at line 439 of file SymbolContext.h.
References m_symbol_contexts.
|
inline |
Definition at line 441 of file SymbolContext.h.
References m_symbol_contexts.
bool SymbolContextList::RemoveContextAtIndex | ( | size_t | idx | ) |
Definition at line 1278 of file SymbolContext.cpp.
References m_symbol_contexts.
Referenced by lldb_private::BreakpointResolverFileLine::FilterContexts(), lldb_private::Module::LookupInfo::Prune(), RemoveFunctionsWithModuleNotEqualTo(), lldb_private::BreakpointResolverFileRegex::SearchCallback(), and lldb_private::BreakpointResolverName::SearchCallback().
|
inline |
Definition at line 474 of file SymbolContext.h.
References m_symbol_contexts.
Referenced by lldb_private::CommandObjectDisassemble::GetNameRanges(), and LoadAddressResolver::Resolve().
|
protected |
The list of symbol contexts.
Definition at line 466 of file SymbolContext.h.
Referenced by Append(), AppendIfUnique(), begin(), Clear(), Dump(), end(), GetContextAtIndex(), GetDescription(), GetSize(), IsEmpty(), NumLineEntriesWithLine(), operator[](), RemoveContextAtIndex(), and SymbolContexts().