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< const_iteratorSymbolContextIterable

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.
const SymbolContextoperator[] (size_t idx) const
 Direct const reference accessor for a symbol context at index idx.
void SetSymbolAtIndex (size_t idx, Symbol *symbol)
 Replace the symbol in the symbol context at index idx.
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 ()

Private Types

using collection
using const_iterator = collection::const_iterator

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

Member Typedef Documentation

◆ collection

Initial value:
llvm::SetVector<SymbolContext, llvm::SmallVector<SymbolContext>>

Definition at line 489 of file SymbolContext.h.

◆ const_iterator

using lldb_private::SymbolContextList::const_iterator = collection::const_iterator
private

Definition at line 491 of file SymbolContext.h.

◆ SymbolContextIterable

Definition at line 500 of file SymbolContext.h.

Constructor & Destructor Documentation

◆ SymbolContextList()

SymbolContextList::SymbolContextList ( )

Default constructor.

Initialize with an empty list.

Definition at line 1194 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 1202 of file SymbolContext.cpp.

References 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 1207 of file SymbolContext.cpp.

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

◆ begin()

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

Definition at line 497 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 1255 of file SymbolContext.cpp.

References lldb::eDescriptionLevelVerbose, 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 498 of file SymbolContext.h.

References m_symbol_contexts.

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

◆ 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 1299 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 1285 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(), RegisterContextFreeBSDKernelCore_arm64::GetOsreldate(), 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[]()

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

Direct const 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.

Definition at line 460 of file SymbolContext.h.

References m_symbol_contexts.

◆ RemoveContextAtIndex()

◆ SetSymbolAtIndex()

void lldb_private::SymbolContextList::SetSymbolAtIndex ( size_t idx,
Symbol * symbol )
inline

Replace the symbol in the symbol context at index idx.

The symbol field is excluded from the hash and equality used by the internal set, so this is the only mutation that is safe to perform on an element that is already in the list.

Definition at line 469 of file SymbolContext.h.

References m_symbol_contexts.

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

◆ SymbolContexts()

SymbolContextIterable lldb_private::SymbolContextList::SymbolContexts ( )
inline

Member Data Documentation

◆ m_symbol_contexts


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