LLDB mainline
lldb_private::SymbolContextList Class Reference

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

#include "lldb/Symbol/SymbolContext.h"

Public Types

typedef llvm::iterator_range< collection::const_iterator > 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.
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:

  • Looking up a function by name.
  • Finding all addresses for a specified file and line number.

Definition at line 379 of file SymbolContext.h.

Member Typedef Documentation

◆ collection

The collection type for the list.

Definition at line 466 of file SymbolContext.h.

◆ const_iterator

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

Definition at line 467 of file SymbolContext.h.

◆ SymbolContextIterable

typedef llvm::iterator_range<collection::const_iterator> lldb_private::SymbolContextList::SymbolContextIterable

Definition at line 477 of file SymbolContext.h.

Constructor & Destructor Documentation

◆ SymbolContextList()

SymbolContextList::SymbolContextList ( )

Default constructor.

Initialize with an empty list.

Definition at line 1174 of file SymbolContext.cpp.

References m_symbol_contexts.

Referenced by Append(), AppendIfUnique(), and ~SymbolContextList().

◆ ~SymbolContextList()

SymbolContextList::~SymbolContextList ( )
default

Destructor.

References SymbolContextList().

Member Function Documentation

◆ Append() [1/2]

◆ Append() [2/2]

void SymbolContextList::Append ( const SymbolContextList & sc_list)

Definition at line 1182 of file SymbolContext.cpp.

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

◆ AppendIfUnique() [1/2]

◆ AppendIfUnique() [2/2]

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

Definition at line 1188 of file SymbolContext.cpp.

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

◆ begin()

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

Definition at line 473 of file SymbolContext.h.

References m_symbol_contexts.

Referenced by lldb_private::BreakpointResolver::SetSCMatchesByLine().

◆ 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 1235 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

◆ GetContextAtIndex()

◆ GetDescription()

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

Definition at line 1281 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 1267 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::Module::FindFunctions(), lldb_private::plugin::dwarf::SymbolFileDWARF::FindFunctions(), lldb_private::plugin::dwarf::SymbolFileDWARFDebugMap::FindFunctions(), lldb_private::plugin::dwarf::SymbolFileDWARFDebugMap::FindFunctions(), lldb_private::SymbolFileOnDemand::FindFunctions(), lldb_private::ModuleList::FindFunctionSymbols(), lldb_private::CPPLanguageRuntime::FindLibCppStdFunctionCallableInfo(), lldb_private::ClangASTSource::FindObjCMethodDecls(), ObjectFileMachO::GetEntryPointAddress(), lldb_private::platform_android::PlatformAndroid::GetLibdlFunctionDeclarations(), DynamicLoaderHexagonDYLD::GetStepThroughTrampolinePlan(), DynamicLoaderPOSIXDYLD::GetStepThroughTrampolinePlan(), lldb_private::AppleObjCRuntimeV2::GetValuesForGlobalCFBooleans(), 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::plugin::dwarf::SymbolFileDWARF::ResolveFunctionCallLabel(), lldb_private::breakpad::SymbolFileBreakpad::ResolveSymbolContext(), lldb_private::CompileUnit::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().

◆ IsEmpty()

◆ 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 443 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 445 of file SymbolContext.h.

References m_symbol_contexts.

◆ RemoveContextAtIndex()

◆ 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: