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

Defines a list of symbol context objects. More...

#include "lldb/Symbol/SymbolContext.h"

Public Types

typedef AdaptedIterable< collection, SymbolContext, vector_adapterSymbolContextIterable
 

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.
 
SymbolContextoperator[] (size_t idx)
 Direct reference accessor for a symbol context at index idx.
 
const SymbolContextoperator[] (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< SymbolContextcollection
 The collection type for the list.
 
typedef collection::const_iterator const_iterator
 

Protected Attributes

collection m_symbol_contexts
 The list of symbol contexts.
 

Detailed Description

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 374 of file SymbolContext.h.

Member Typedef Documentation

◆ collection

The collection type for the list.

Definition at line 461 of file SymbolContext.h.

◆ const_iterator

typedef collection::const_iterator lldb_private::SymbolContextList::const_iterator
protected

Definition at line 462 of file SymbolContext.h.

◆ SymbolContextIterable

Definition at line 472 of file SymbolContext.h.

Constructor & Destructor Documentation

◆ SymbolContextList()

SymbolContextList::SymbolContextList ( )

Default constructor.

Initialize with an empty list.

Definition at line 1183 of file SymbolContext.cpp.

◆ ~SymbolContextList()

SymbolContextList::~SymbolContextList ( )
default

Destructor.

Member Function Documentation

◆ Append() [1/2]

void SymbolContextList::Append ( const SymbolContext sc)

◆ Append() [2/2]

void SymbolContextList::Append ( const SymbolContextList sc_list)

Definition at line 1191 of file SymbolContext.cpp.

References end(), and m_symbol_contexts.

◆ AppendIfUnique() [1/2]

bool SymbolContextList::AppendIfUnique ( const SymbolContext sc,
bool  merge_symbol_into_function 
)

◆ AppendIfUnique() [2/2]

uint32_t SymbolContextList::AppendIfUnique ( const SymbolContextList sc_list,
bool  merge_symbol_into_function 
)

Definition at line 1197 of file SymbolContext.cpp.

References AppendIfUnique(), end(), and m_symbol_contexts.

◆ begin()

const_iterator lldb_private::SymbolContextList::begin ( ) const
inline

Definition at line 468 of file SymbolContext.h.

References m_symbol_contexts.

◆ Clear()

void SymbolContextList::Clear ( )

◆ Dump()

void SymbolContextList::Dump ( Stream s,
Target target 
) const

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.

Parameters
[in]sThe stream to which to dump the object description.

Definition at line 1245 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().

◆ end()

const_iterator lldb_private::SymbolContextList::end ( ) const
inline

Definition at line 469 of file SymbolContext.h.

References m_symbol_contexts.

Referenced by Append(), AppendIfUnique(), Dump(), and lldb_private::Module::FindFunctions().

◆ GetContextAtIndex()

bool SymbolContextList::GetContextAtIndex ( size_t  idx,
SymbolContext sc 
) const

◆ GetDescription()

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

Definition at line 1291 of file SymbolContext.cpp.

References GetDescription(), and m_symbol_contexts.

Referenced by GetDescription().

◆ GetSize()

uint32_t SymbolContextList::GetSize ( ) const

Get accessor for a symbol context list size.

Returns
Returns the number of symbol context objects in the list.

Definition at line 1277 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(), lldb_private::ClangExpressionDeclMap::SearchFunctionsInSymbolContexts(), and lldb_private::BreakpointResolver::SetSCMatchesByLine().

◆ IsEmpty()

bool SymbolContextList::IsEmpty ( ) const

◆ NumLineEntriesWithLine()

uint32_t SymbolContextList::NumLineEntriesWithLine ( uint32_t  line) const

◆ operator[]() [1/2]

SymbolContext & lldb_private::SymbolContextList::operator[] ( size_t  idx)
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.

Parameters
[in]idxThe zero based index into the symbol context list.
Returns
A const reference to the symbol context to fill in.

Definition at line 438 of file SymbolContext.h.

References m_symbol_contexts.

◆ operator[]() [2/2]

const SymbolContext & lldb_private::SymbolContextList::operator[] ( size_t  idx) const
inline

Definition at line 440 of file SymbolContext.h.

References m_symbol_contexts.

◆ RemoveContextAtIndex()

bool SymbolContextList::RemoveContextAtIndex ( size_t  idx)

◆ SymbolContexts()

SymbolContextIterable lldb_private::SymbolContextList::SymbolContexts ( )
inline

Member Data Documentation

◆ m_symbol_contexts

collection lldb_private::SymbolContextList::m_symbol_contexts
protected

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