LLDB  mainline
Public Member Functions | Public Attributes | List of all members
lldb_private::SymbolContext Class Reference

Defines a symbol context baton that can be handed other debug core functions. More...

#include "lldb/Symbol/SymbolContext.h"

Collaboration diagram for lldb_private::SymbolContext:
Collaboration graph
[legend]

Public Member Functions

 SymbolContext ()
 Default constructor. More...
 
 SymbolContext (SymbolContextScope *sc_scope)
 Construct with an object that knows how to reconstruct its symbol context. More...
 
 SymbolContext (const lldb::TargetSP &target_sp, const lldb::ModuleSP &module_sp, CompileUnit *comp_unit=nullptr, Function *function=nullptr, Block *block=nullptr, LineEntry *line_entry=nullptr, Symbol *symbol=nullptr)
 Construct with module, and optional compile unit, function, block, line table, line entry and symbol. More...
 
 SymbolContext (const lldb::ModuleSP &module_sp, CompileUnit *comp_unit=nullptr, Function *function=nullptr, Block *block=nullptr, LineEntry *line_entry=nullptr, Symbol *symbol=nullptr)
 
 SymbolContext (const SymbolContext &rhs)
 Copy constructor. More...
 
 ~SymbolContext ()
 
const SymbolContextoperator= (const SymbolContext &rhs)
 Assignment operator. More...
 
void Clear (bool clear_target)
 Clear the object's state. More...
 
void Dump (Stream *s, Target *target) const
 Dump a description of this object to a Stream. More...
 
bool DumpStopContext (Stream *s, ExecutionContextScope *exe_scope, const Address &so_addr, bool show_fullpaths, bool show_module, bool show_inlined_frames, bool show_function_arguments, bool show_function_name) const
 Dump the stop context in this object to a Stream. More...
 
bool GetAddressRange (uint32_t scope, uint32_t range_idx, bool use_inline_block_range, AddressRange &range) const
 Get the address range contained within a symbol context. More...
 
bool GetAddressRangeFromHereToEndLine (uint32_t end_line, AddressRange &range, Status &error)
 
const SymbolFindBestGlobalDataSymbol (ConstString name, Status &error)
 Find the best global data symbol visible from this context. More...
 
void GetDescription (Stream *s, lldb::DescriptionLevel level, Target *target) const
 
uint32_t GetResolvedMask () const
 
lldb::LanguageType GetLanguage () const
 
BlockGetFunctionBlock ()
 Find a block that defines the function represented by this symbol context. More...
 
bool GetFunctionMethodInfo (lldb::LanguageType &language, bool &is_instance_method, ConstString &language_object_name)
 If this symbol context represents a function that is a method, return true and provide information about the method. More...
 
void SortTypeList (TypeMap &type_map, TypeList &type_list) const
 Sorts the types in TypeMap according to SymbolContext to TypeList. More...
 
ConstString GetFunctionName (Mangled::NamePreference preference=Mangled::ePreferDemangled) const
 Find a name of the innermost function for the symbol context. More...
 
LineEntry GetFunctionStartLineEntry () const
 Get the line entry that corresponds to the function. More...
 
bool GetParentOfInlinedScope (const Address &curr_frame_pc, SymbolContext &next_frame_sc, Address &inlined_frame_addr) const
 Find the block containing the inlined block that contains this block. More...
 

Public Attributes

lldb::TargetSP target_sp
 The Target for a given query. More...
 
lldb::ModuleSP module_sp
 The Module for a given query. More...
 
CompileUnitcomp_unit
 The CompileUnit for a given query. More...
 
Functionfunction
 The Function for a given query. More...
 
Blockblock
 The Block for a given query. More...
 
LineEntry line_entry
 The LineEntry for a given query. More...
 
Symbolsymbol
 The Symbol for a given query. More...
 
Variablevariable
 The global variable matching the given query. More...
 

Detailed Description

Defines a symbol context baton that can be handed other debug core functions.

Many debugger functions require a context when doing lookups. This class provides a common structure that can be used as the result of a query that can contain a single result. Examples of such queries include

Definition at line 33 of file SymbolContext.h.

Constructor & Destructor Documentation

◆ SymbolContext() [1/5]

SymbolContext::SymbolContext ( )

Default constructor.

Initialize all pointer members to nullptr and all struct members to their default state.

Definition at line 29 of file SymbolContext.cpp.

References block, comp_unit, line_entry, module_sp, symbol, target_sp, and variable.

◆ SymbolContext() [2/5]

SymbolContext::SymbolContext ( SymbolContextScope sc_scope)
explicit

Construct with an object that knows how to reconstruct its symbol context.

Parameters
[in]sc_scopeA symbol context scope object that knows how to reconstruct it's context.

Definition at line 55 of file SymbolContext.cpp.

References lldb_private::SymbolContextScope::CalculateSymbolContext().

◆ SymbolContext() [3/5]

lldb_private::SymbolContext::SymbolContext ( const lldb::TargetSP &  target_sp,
const lldb::ModuleSP &  module_sp,
CompileUnit comp_unit = nullptr,
Function function = nullptr,
Block block = nullptr,
LineEntry line_entry = nullptr,
Symbol symbol = nullptr 
)
explicit

Construct with module, and optional compile unit, function, block, line table, line entry and symbol.

Initialize all pointer to the specified values.

Parameters
[in]moduleA Module pointer to the module for this context.
[in]comp_unitA CompileUnit pointer to the compile unit for this context.
[in]functionA Function pointer to the function for this context.
[in]blockA Block pointer to the deepest block for this context.
[in]line_entryA LineEntry pointer to the line entry for this context.
[in]symbolA Symbol pointer to the symbol for this context.

◆ SymbolContext() [4/5]

lldb_private::SymbolContext::SymbolContext ( const lldb::ModuleSP &  module_sp,
CompileUnit comp_unit = nullptr,
Function function = nullptr,
Block block = nullptr,
LineEntry line_entry = nullptr,
Symbol symbol = nullptr 
)
explicit

◆ SymbolContext() [5/5]

SymbolContext::SymbolContext ( const SymbolContext rhs)

Copy constructor.

Makes a copy of the another SymbolContext object rhs.

Parameters
[in]rhsA const SymbolContext object reference to copy.

Definition at line 50 of file SymbolContext.cpp.

◆ ~SymbolContext()

SymbolContext::~SymbolContext ( )

Definition at line 61 of file SymbolContext.cpp.

Member Function Documentation

◆ Clear()

void SymbolContext::Clear ( bool  clear_target)

◆ Dump()

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

Dump a description of this object to a Stream.

Dump a description of the contents of this object to the supplied stream s.

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

Definition at line 322 of file SymbolContext.cpp.

References block, comp_unit, lldb_private::LineEntry::Dump(), lldb_private::Type::Dump(), lldb_private::Address::DumpStyleLoadAddress, lldb_private::Address::DumpStyleModuleWithFileAddress, lldb_private::Stream::EOL(), lldb_private::Stream::Indent(), lldb_private::Stream::IndentLess(), lldb_private::Stream::IndentMore(), line_entry, module_sp, lldb_private::Stream::PutCString(), symbol, and variable.

◆ DumpStopContext()

bool SymbolContext::DumpStopContext ( Stream s,
ExecutionContextScope exe_scope,
const Address so_addr,
bool  show_fullpaths,
bool  show_module,
bool  show_inlined_frames,
bool  show_function_arguments,
bool  show_function_name 
) const

Dump the stop context in this object to a Stream.

Dump the best description of this object to the stream. The information displayed depends on the amount and quality of the information in this context. If a module, function, file and line number are available, they will be dumped. If only a module and function or symbol name with offset is available, that will be output. Else just the address at which the target was stopped will be displayed.

Parameters
[in]sThe stream to which to dump the object description.
[in]so_addrThe resolved section offset address.
[in]show_fullpathsWhen printing file paths (with the Module), whether the base name of the Module should be printed or the full path.
[in]show_moduleWhether the module name should be printed followed by a grave accent "`" character.
[in]show_inlined_framesIf a given pc is in inlined function(s), whether the inlined functions should be printed on separate lines in addition to the concrete function containing the pc.
[in]show_function_argumentsIf false, this method will try to elide the function argument types when printing the function name. This may be ambiguous for languages that have function overloading - but it may make the "function name" too long to include all the argument types.
[in]show_function_nameNormally this should be true - the function/symbol name should be printed. In disassembly formatting, where we want a format like "<*+36>", this should be false and "*" will be printed instead.

Definition at line 89 of file SymbolContext.cpp.

References block, lldb_private::Address::Dump(), lldb_private::ConstString::Dump(), lldb_private::LineEntry::DumpStopContext(), lldb_private::Declaration::DumpStopContext(), DumpStopContext(), lldb_private::Address::DumpStyleModuleWithFileAddress, lldb_private::Stream::EOL(), lldb::eSymbolTypeTrampoline, function, lldb_private::Symbol::GetAddressRef(), lldb_private::AddressRange::GetBaseAddress(), lldb_private::InlineFunctionInfo::GetCallSite(), lldb_private::Block::GetContainingInlinedBlock(), lldb_private::Block::GetInlinedFunctionInfo(), lldb_private::Function::GetLanguage(), lldb_private::Symbol::GetName(), lldb_private::InlineFunctionInfo::GetName(), lldb_private::Address::GetOffset(), GetParentOfInlinedScope(), lldb_private::Block::GetRangeContainingAddress(), lldb_private::Symbol::GetType(), lldb_private::Stream::Indent(), lldb_private::LineEntry::IsValid(), lldb_private::Declaration::IsValid(), lldb_private::Address::IsValid(), line_entry, module_sp, lldb_private::Stream::Printf(), lldb_private::Stream::PutChar(), lldb_private::Stream::PutCString(), symbol, and lldb_private::Symbol::ValueIsAddress().

Referenced by CommandObjectSourceList::DoExecute(), lldb_private::Address::Dump(), lldb_private::Variable::DumpDeclaration(), DumpStopContext(), and lldb_private::BreakpointLocation::GetDescription().

◆ FindBestGlobalDataSymbol()

const Symbol * SymbolContext::FindBestGlobalDataSymbol ( ConstString  name,
Status error 
)

Find the best global data symbol visible from this context.

Symbol priority is:

  • extern symbol in the current module if there is one
  • non-extern symbol in the current module if there is one
  • extern symbol in the target
  • non-extern symbol in the target It is an error if the highest-priority result is ambiguous.
Parameters
[in]nameThe name of the symbol to search for.
[out]errorAn error that will be populated with a message if there was an ambiguous result. The error will not be populated if no result was found.
Returns
The symbol that was found, or nullptr if none was found.

Definition at line 786 of file SymbolContext.cpp.

References lldb_private::ConstString::AsCString(), lldb_private::Status::Clear(), lldb_private::ConstString::Clear(), lldb::eDescriptionLevelFull, lldb::eDescriptionLevelVerbose, lldb::eSymbolTypeAbsolute, lldb::eSymbolTypeAdditional, lldb::eSymbolTypeAny, lldb::eSymbolTypeBlock, lldb::eSymbolTypeCode, lldb::eSymbolTypeCommonBlock, lldb::eSymbolTypeCompiler, lldb::eSymbolTypeData, lldb::eSymbolTypeException, lldb::eSymbolTypeHeaderFile, lldb::eSymbolTypeInstrumentation, lldb::eSymbolTypeInvalid, lldb::eSymbolTypeLineEntry, lldb::eSymbolTypeLineHeader, lldb::eSymbolTypeLocal, lldb::eSymbolTypeObjCClass, lldb::eSymbolTypeObjCIVar, lldb::eSymbolTypeObjCMetaClass, lldb::eSymbolTypeObjectFile, lldb::eSymbolTypeParam, lldb::eSymbolTypeReExported, lldb::eSymbolTypeResolver, lldb::eSymbolTypeRuntime, lldb::eSymbolTypeScopeBegin, lldb::eSymbolTypeScopeEnd, lldb::eSymbolTypeSourceFile, lldb::eSymbolTypeTrampoline, lldb::eSymbolTypeUndefined, lldb::eSymbolTypeVariable, lldb::eSymbolTypeVariableType, lldb_private::Module::FindSymbolsWithNameAndType(), lldb_private::Symbol::GetAddress(), lldb_private::StreamString::GetData(), lldb_private::Symbol::GetDemangledNameIsSynthesized(), lldb_private::Symbol::GetDescription(), lldb_private::FileSpec::GetDirectory(), lldb_private::Symbol::GetMangled(), lldb_private::ModuleSpec::GetPlatformFileSpec(), lldb_private::Symbol::GetReExportedSymbolName(), lldb_private::Symbol::GetReExportedSymbolSharedLibrary(), lldb_private::Symbol::GetType(), lldb_private::Symbol::IsExternal(), lldb_private::Address::IsValid(), module_sp, lldb_private::Stream::Printf(), lldb_private::Stream::PutChar(), lldb_private::Status::SetErrorString(), lldb_private::Status::Success(), symbol, and target_sp.

◆ GetAddressRange()

bool SymbolContext::GetAddressRange ( uint32_t  scope,
uint32_t  range_idx,
bool  use_inline_block_range,
AddressRange range 
) const

Get the address range contained within a symbol context.

Address range priority is as follows:

  • line_entry address range if line_entry is valid and eSymbolContextLineEntry is set in scope
  • block address range if block is not nullptr and eSymbolContextBlock is set in scope
  • function address range if function is not nullptr and eSymbolContextFunction is set in scope
  • symbol address range if symbol is not nullptr and eSymbolContextSymbol is set in scope
Parameters
[in]scopeA mask of symbol context bits telling this function which address ranges it can use when trying to extract one from the valid (non-nullptr) symbol context classes.
[in]range_idxThe address range index to grab. Since many functions and blocks are not always contiguous, they may have more than one address range.
[in]use_inline_block_rangeIf scope has the eSymbolContextBlock bit set, and there is a valid block in the symbol context, return the block address range for the containing inline function block, not the deepest most block. This allows us to extract information for the address range of the inlined function block, not the deepest lexical block.
[out]rangeAn address range object that will be filled in if true is returned.
Returns
True if this symbol context contains items that describe an address range, false otherwise.

Definition at line 398 of file SymbolContext.cpp.

References block, lldb_private::AddressRange::Clear(), lldb_private::Symbol::GetAddressRef(), lldb_private::AddressRange::GetBaseAddress(), lldb_private::Symbol::GetByteSize(), lldb_private::Block::GetContainingInlinedBlock(), lldb_private::Block::GetRangeAtIndex(), lldb_private::LineEntry::IsValid(), line_entry, lldb_private::LineEntry::range, lldb_private::AddressRange::SetByteSize(), symbol, and lldb_private::Symbol::ValueIsAddress().

Referenced by lldb_private::Disassembler::Disassemble(), lldb_private::CommandObjectDisassemble::DoExecute(), CommandObjectTargetModulesShowUnwind::DoExecute(), CommandObjectSourceInfo::DumpLinesInFunctions(), DumpSymbolContextList(), lldb_private::CPPLanguageRuntime::FindLibCppStdFunctionCallableInfo(), SystemRuntimeMacOSX::GetExtendedBacktraceForQueueItem(), DynamicLoaderHexagonDYLD::GetStepThroughTrampolinePlan(), lldb_private::DynamicLoaderDarwin::GetStepThroughTrampolinePlan(), DynamicLoaderPOSIXDYLD::GetStepThroughTrampolinePlan(), lldb_private::CPPLanguageRuntime::GetStepThroughTrampolinePlan(), lldb_private::InferiorCallMmap(), lldb_private::InferiorCallMunmap(), lldb_private::Disassembler::PrintInstructions(), lldb_private::RegisterContextLLDB::RegisterContextLLDB(), lldb_private::Module::ResolveSymbolContextForAddress(), DisassemblerLLVMC::SymbolLookup(), and lldb_private::UnwindTable::~UnwindTable().

◆ GetAddressRangeFromHereToEndLine()

bool SymbolContext::GetAddressRangeFromHereToEndLine ( uint32_t  end_line,
AddressRange range,
Status error 
)

◆ GetDescription()

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

◆ GetFunctionBlock()

Block * SymbolContext::GetFunctionBlock ( )

Find a block that defines the function represented by this symbol context.

If this symbol context points to a block that is an inlined function, or is contained within an inlined function, the block that defines the inlined function is returned.

If this symbol context has no block in it, or the block is not itself an inlined function block or contained within one, we return the top level function block.

This is a handy function to call when you want to get the block whose variable list will include the arguments for the function that is represented by this symbol context (whether the function is an inline function or not).

Returns
The block object pointer that defines the function that is represented by this symbol context object, nullptr otherwise.

Definition at line 543 of file SymbolContext.cpp.

References block, and lldb_private::Block::GetContainingInlinedBlock().

Referenced by lldb_private::ClangExpressionDeclMap::FindExternalVisibleDecls(), GetAddressRangeFromHereToEndLine(), GetFunctionMethodInfo(), NeedsResolvedCompileUnit(), and lldb_private::ClangUserExpression::~ClangUserExpression().

◆ GetFunctionMethodInfo()

bool SymbolContext::GetFunctionMethodInfo ( lldb::LanguageType language,
bool &  is_instance_method,
ConstString language_object_name 
)

If this symbol context represents a function that is a method, return true and provide information about the method.

Parameters
[out]languageIf true is returned, the language for the method.
[out]is_instance_methodIf true is returned, true if this is a instance method, false if this is a static/class function.
[out]language_object_nameIf true is returned, the name of the artificial variable for the language ("this" for C++, "self" for ObjC).
Returns
True if this symbol context represents a function that is a method of a class, false otherwise.

Definition at line 567 of file SymbolContext.cpp.

References lldb_private::Block::GetDeclContext(), GetFunctionBlock(), and lldb_private::CompilerDeclContext::IsClassMethod().

Referenced by lldb_private::StackFrame::GetValueForVariableExpressionPath().

◆ GetFunctionName()

ConstString SymbolContext::GetFunctionName ( Mangled::NamePreference  preference = Mangled::ePreferDemangled) const

◆ GetFunctionStartLineEntry()

LineEntry SymbolContext::GetFunctionStartLineEntry ( ) const

Get the line entry that corresponds to the function.

If the symbol context contains an inlined block, the line entry for the start address of the inlined function will be returned, otherwise the line entry for the start address of the function will be returned. This can be used after doing a Module::FindFunctions(...) or ModuleList::FindFunctions(...) call in order to get the correct line table information for the symbol context. it will return the inlined function name.

Parameters
[in]prefer_mangledif , then the mangled name will be returned if there is one. Otherwise the unmangled name will be returned if it is available.
Returns
The name of the function represented by this symbol context.

Definition at line 696 of file SymbolContext.cpp.

References block, lldb_private::Address::CalculateSymbolContextLineEntry(), function, lldb_private::Function::GetAddressRange(), lldb_private::AddressRange::GetBaseAddress(), lldb_private::Block::GetContainingInlinedBlock(), lldb_private::Block::GetStartAddress(), and line_entry.

Referenced by CommandObjectSourceList::DisplayFunctionSource(), and CommandObjectSourceList::DoExecute().

◆ GetLanguage()

LanguageType SymbolContext::GetLanguage ( ) const

◆ GetParentOfInlinedScope()

bool SymbolContext::GetParentOfInlinedScope ( const Address curr_frame_pc,
SymbolContext next_frame_sc,
Address inlined_frame_addr 
) const

Find the block containing the inlined block that contains this block.

For instance, if the symbol context contains an inlined block, it will return the inlined function name.

Parameters
[in]curr_frame_pcThe address within the block of this object.
[out]next_frame_scA new symbol context that does what the title says it does.
[out]next_frame_addrThis is what you should report as the PC in next_frame_sc.
Returns
true if this SymbolContext specifies a block contained in an inlined block. If this returns true, next_frame_sc and next_frame_addr will be filled in correctly.

Definition at line 455 of file SymbolContext.cpp.

References block, lldb_private::Block::CalculateSymbolContext(), Clear(), lldb_private::Address::Clear(), lldb_private::LineEntry::column, lldb_private::Host::eSystemLogWarning, lldb_private::LineEntry::file, lldb_private::AddressRange::GetBaseAddress(), lldb_private::InlineFunctionInfo::GetCallSite(), lldb_private::Declaration::GetColumn(), lldb_private::Block::GetContainingInlinedBlock(), lldb_private::Declaration::GetFile(), lldb_private::Address::GetFileAddress(), lldb_private::ObjectFile::GetFileSpec(), lldb_private::UserID::GetID(), lldb_private::Block::GetInlinedFunctionInfo(), lldb_private::Declaration::GetLine(), lldb_private::GetLogIfAllCategoriesSet(), lldb_private::SymbolFile::GetObjectFile(), lldb_private::Block::GetParent(), lldb_private::FileSpec::GetPath(), lldb_private::Block::GetRangeContainingAddress(), lldb_private::SymbolVendor::GetSymbolFile(), LIBLLDB_LOG_SYMBOLS, lldb_private::LineEntry::line, line_entry, module_sp, lldb_private::LineEntry::original_file, lldb_private::Log::Printf(), lldb_private::LineEntry::range, and lldb_private::Host::SystemLog().

Referenced by DumpStopContext(), and lldb_private::StackFrameList::GetFramesUpTo().

◆ GetResolvedMask()

uint32_t SymbolContext::GetResolvedMask ( ) const

◆ operator=()

const SymbolContext & SymbolContext::operator= ( const SymbolContext rhs)

Assignment operator.

Copies the address value from another SymbolContext object rhs into this object.

Parameters
[in]rhsA const SymbolContext object reference to copy.
Returns
A const SymbolContext object reference to this.

Definition at line 63 of file SymbolContext.cpp.

References block, comp_unit, function, line_entry, module_sp, symbol, target_sp, and variable.

◆ SortTypeList()

void SymbolContext::SortTypeList ( TypeMap type_map,
TypeList type_list 
) const

Member Data Documentation

◆ block

Block* lldb_private::SymbolContext::block

The Block for a given query.

Definition at line 346 of file SymbolContext.h.

Referenced by lldb_private::SymbolContextList::AppendIfUnique(), lldb_private::Block::CalculateSymbolContext(), lldb_private::Address::CalculateSymbolContextBlock(), Clear(), CommandObjectSourceList::DisplayFunctionSource(), CommandObjectThreadStepWithTypeAndScope::DoExecute(), lldb_private::StackID::Dump(), Dump(), lldb_private::Address::Dump(), DumpAddressOffsetFromFunction(), lldb_private::Variable::DumpDeclaration(), DumpStopContext(), lldb_private::BreakpointResolverFileLine::FilterContexts(), lldb_private::ClangExpressionDeclMap::FindExternalVisibleDecls(), lldb_private::Module::FindFunctions(), lldb::SBFrame::FindValue(), lldb_private::StackFrame::FindVariable(), lldb_private::FormatEntity::Format(), GetAddressRange(), lldb_private::ThreadPlanStepOverRange::GetDescription(), GetDescription(), lldb_private::StackFrame::GetFrameBlock(), lldb_private::StackFrameList::GetFramesUpTo(), GetFunctionBlock(), GetFunctionName(), GetFunctionStartLineEntry(), SymbolFileDWARF::GetGlobalAranges(), lldb_private::StackFrame::GetInScopeVariableList(), GetParentOfInlinedScope(), GetResolvedMask(), lldb_private::LineEntry::GetSameLineContiguousAddressRange(), lldb_private::ClangExpressionDeclMap::GetSymbolAddress(), lldb_private::StackFrame::GetSymbolContext(), lldb_private::StackFrame::IsInlined(), lldb_private::Variable::IsInScope(), NeedsResolvedCompileUnit(), lldb_private::operator<(), operator=(), SymbolFilePDB::ParseDeclsForContext(), lldb_private::npdb::SymbolFileNativePDB::ParseVariablesForContext(), SymbolFileDWARF::ResolveFunction(), lldb_private::BreakpointResolverName::SearchCallback(), lldb::SBSymbolContext::SetBlock(), lldb_private::BreakpointResolver::SetSCMatchesByLine(), lldb_private::ThreadPlanStepOverRange::ShouldStop(), SortTypeList(), SymbolContext(), and lldb_private::SymbolContextSpecifier::SymbolContextMatches().

◆ comp_unit

CompileUnit* lldb_private::SymbolContext::comp_unit

The CompileUnit for a given query.

Definition at line 344 of file SymbolContext.h.

Referenced by lldb_private::SearchFilterByModuleListAndCU::AddressPasses(), lldb_private::SymbolContextList::AppendIfUnique(), DWARFUnit::BuildAddressRangeTable(), lldb_private::CompileUnit::CalculateSymbolContext(), lldb_private::Address::CalculateSymbolContextCompileUnit(), Clear(), lldb_private::SearchFilter::DoCUIteration(), CommandObjectTargetVariable::DoExecute(), CommandObjectSourceList::DoExecute(), Dump(), DumpCompileUnitLineTable(), CommandObjectTargetVariable::DumpGlobalVariableList(), CommandObjectSourceInfo::DumpLinesInSymbolContexts(), lldb_private::SourceManager::File::File(), lldb_private::Module::FindCompileUnits(), lldb_private::npdb::SymbolFileNativePDB::FindGlobalVariables(), SymbolFilePDB::FindGlobalVariables(), SymbolFileDWARF::FindGlobalVariables(), lldb_private::FormatEntity::Format(), GetAddressRangeFromHereToEndLine(), SymbolFileDWARFDebugMap::GetCompUnitInfo(), lldb_private::ThreadPlanStepOverRange::GetDescription(), lldb_private::BreakpointLocation::GetDescription(), GetDescription(), SymbolFileDWARF::GetFunction(), SymbolFileDWARF::GetGlobalAranges(), lldb_private::StackFrame::GetInScopeVariableList(), lldb_private::Variable::GetLanguage(), GetLanguage(), lldb_private::StackFrame::GetLanguage(), GetResolvedMask(), lldb_private::StackFrame::GetSymbolContext(), SymbolFileDWARFDebugMap::GetSymbolFile(), lldb_private::ClangExpressionSourceCode::GetText(), lldb_private::StackFrame::GetVariableList(), lldb_private::Breakpoint::ModulesChanged(), lldb_private::Variable::NameMatches(), NeedsResolvedCompileUnit(), operator=(), lldb_private::operator==(), lldb_private::Module::ParseAllDebugSymbols(), DWARFASTParserClang::ParseChildEnumerators(), DWARFASTParserClang::ParseChildMembers(), SymbolFilePDB::ParseDeclsForContext(), SymbolFileDWARF::ParseImportedModules(), lldb_private::breakpad::SymbolFileBreakpad::ParseSupportFiles(), DWARFASTParserClang::ParseTypeFromDWARF(), SymbolFileDWARF::ParseTypes(), SymbolFileDWARF::ParseVariableDIE(), SymbolFileDWARF::ParseVariables(), SymbolFilePDB::ParseVariablesForContext(), lldb_private::npdb::SymbolFileNativePDB::ParseVariablesForContext(), SymbolFileDWARF::ParseVariablesForContext(), lldb_private::Disassembler::PrintInstructions(), lldb_private::CompileUnit::ResolveSymbolContext(), lldb_private::SearchFilterByModuleListAndCU::Search(), lldb_private::BreakpointResolverFileRegex::SearchCallback(), lldb_private::AddressResolverFileLine::SearchCallback(), lldb_private::FileLineResolver::SearchCallback(), lldb_private::BreakpointResolverName::SearchCallback(), lldb_private::CommandCompletions::SourceFileCompleter::SearchCallback(), lldb::SBSymbolContext::SetCompileUnit(), SetupDeclVendor(), lldb_private::ThreadPlanStepOverRange::ShouldStop(), SortTypeList(), lldb::SBThread::StepOverUntil(), SupportsCxxModuleImport(), SymbolContext(), lldb_private::SymbolContextSpecifier::SymbolContextMatches(), and lldb_private::StackFrame::UpdatePreviousFrameFromCurrentFrame().

◆ function

Function* lldb_private::SymbolContext::function

The Function for a given query.

Definition at line 345 of file SymbolContext.h.

Referenced by lldb_private::DynamicLoaderDarwin::AlwaysRelyOnEHUnwindInfo(), DynamicLoaderPOSIXDYLD::AlwaysRelyOnEHUnwindInfo(), lldb_private::SymbolContextList::AppendIfUnique(), lldb_private::Function::CalculateSymbolContext(), lldb_private::Address::CalculateSymbolContextFunction(), CommandObjectSourceList::DisplayFunctionSource(), lldb_private::CommandObjectDisassemble::DoExecute(), CommandObjectTargetModulesShowUnwind::DoExecute(), lldb_private::Variable::Dump(), lldb_private::Address::Dump(), DumpAddressOffsetFromFunction(), lldb_private::Variable::DumpDeclaration(), lldb_private::Variable::DumpLocationForAddress(), DumpStopContext(), lldb_private::BreakpointResolverFileLine::FilterContexts(), lldb_private::ClangExpressionDeclMap::FindExternalVisibleDecls(), lldb_private::Module::FindFunctions(), lldb_private::npdb::SymbolFileNativePDB::FindGlobalVariables(), SymbolFilePDB::FindGlobalVariables(), lldb_private::ClangASTSource::FindObjCMethodDecls(), lldb_private::FormatEntity::Format(), lldb_private::Debugger::FormatDisassemblerAddress(), lldb_private::ArchitectureMips::GetBreakableLoadAddress(), lldb_private::SourceManager::GetDefaultFileAndLine(), lldb_private::ThreadPlanStepOverRange::GetDescription(), lldb::SBBlock::GetDescription(), lldb_private::BreakpointLocation::GetDescription(), lldb_private::StackFrame::GetFrameBaseExpression(), lldb_private::StackFrame::GetFrameBaseValue(), lldb_private::StackFrame::GetFrameBlock(), SymbolFileDWARF::GetFunction(), lldb_private::Disassembler::GetFunctionDeclLineEntry(), GetFunctionName(), GetFunctionStartLineEntry(), SymbolFileDWARF::GetGlobalAranges(), GetLanguage(), lldb_private::DWARFExpression::GetOpAndEndOffsets(), lldb_private::StackFrame::GetSymbolContext(), GetSymbolOrFunctionName(), lldb_private::StackFrame::GuessLanguage(), lldb_private::StackFrame::GuessValueForAddress(), lldb_private::ThreadPlanStepRange::InSymbol(), lldb_private::RegisterContextLLDB::IsTrapHandlerFrame(), lldb_private::Thread::JumpToLine(), lldb_private::Variable::LocationIsValidForAddress(), lldb_private::Variable::LocationIsValidForFrame(), lldb_private::Breakpoint::ModulesChanged(), NeedsResolvedCompileUnit(), lldb_private::operator<(), operator=(), lldb_private::operator==(), lldb_private::Module::ParseAllDebugSymbols(), SymbolFilePDB::ParseDeclsForContext(), DWARFASTParserClang::ParseTypeFromDWARF(), SymbolFileDWARF::ParseTypes(), SymbolFileDWARF::ParseVariableDIE(), SymbolFileDWARF::ParseVariables(), SymbolFilePDB::ParseVariablesForContext(), lldb_private::npdb::SymbolFileNativePDB::ParseVariablesForContext(), SymbolFileDWARF::ParseVariablesForContext(), lldb_private::Disassembler::PrintInstructions(), lldb_private::Process::PrintWarningOptimization(), lldb_private::RegisterContextLLDB::RegisterContextLLDB(), RemoveFunctionsWithModuleNotEqualTo(), SymbolFileDWARF::ResolveFunction(), lldb_private::Thread::ReturnFromFrame(), lldb_private::AddressResolverName::SearchCallback(), lldb_private::BreakpointResolverName::SearchCallback(), lldb_private::IRExecutionUnit::SearchSpec::SearchSpec(), lldb::SBSymbolContext::SetFunction(), lldb_private::BreakpointResolver::SetSCMatchesByLine(), lldb_private::ThreadPlanStepOverRange::ShouldStop(), lldb_private::ThreadPlanStepInRange::ShouldStop(), lldb_private::SymbolContextSpecifier::SymbolContextMatches(), DisassemblerLLVMC::SymbolLookup(), lldb_private::StackFrameList::SynthesizeTailCallFrames(), lldb_private::ThreadPlanStepOut::ThreadPlanStepOut(), lldb_private::StackFrame::UpdatePreviousFrameFromCurrentFrame(), lldb_private::ValueObjectVariable::UpdateValue(), and lldb_private::ClangUserExpression::~ClangUserExpression().

◆ line_entry

LineEntry lldb_private::SymbolContext::line_entry

The LineEntry for a given query.

Definition at line 347 of file SymbolContext.h.

Referenced by lldb_private::SymbolContextList::AppendIfUnique(), lldb_private::Address::CalculateSymbolContextLineEntry(), Clear(), lldb_private::ThreadPlanShouldStopHere::DefaultShouldStopHereCallback(), lldb_private::ThreadPlanShouldStopHere::DefaultStepFromHereCallback(), lldb_private::CommandObjectDisassemble::DoExecute(), CommandObjectThreadStepWithTypeAndScope::DoExecute(), CommandObjectBreakpointSet::DoExecute(), CommandObjectSourceList::DoExecute(), CommandObjectThreadJump::DoExecute(), Dump(), lldb_private::Variable::DumpDeclaration(), CommandObjectSourceInfo::DumpLinesInSymbolContexts(), DumpStopContext(), lldb_private::BreakpointResolverFileLine::FilterContexts(), lldb_private::LineTable::FineLineEntriesForFileIndex(), lldb_private::FormatEntity::Format(), GetAddressRange(), GetAddressRangeFromHereToEndLine(), lldb_private::ThreadPlanStepOverRange::GetDescription(), lldb_private::ThreadPlanStepInRange::GetDescription(), lldb_private::BreakpointLocation::GetDescription(), GetDescription(), lldb_private::StackFrameList::GetFramesUpTo(), lldb_private::Disassembler::GetFunctionDeclLineEntry(), GetFunctionStartLineEntry(), SymbolFileDWARF::GetGlobalAranges(), GetParentOfInlinedScope(), lldb_private::Symbol::GetPrologueByteSize(), GetResolvedMask(), lldb_private::LineEntry::GetSameLineContiguousAddressRange(), lldb_private::StackFrame::GetSymbolContext(), lldb_private::ClangExpressionSourceCode::GetText(), lldb_private::StackFrame::HasDebugInformation(), lldb_private::ThreadPlanStepRange::InRange(), NeedsResolvedCompileUnit(), operator=(), lldb_private::operator==(), SymbolFilePDB::ParseDeclsForContext(), lldb_private::breakpad::SymbolFileBreakpad::ParseSupportFiles(), lldb_private::Disassembler::PrintInstructions(), lldb_private::BreakpointResolver::ResolveBreakpoint(), lldb_private::CompileUnit::ResolveSymbolContext(), lldb_private::AddressResolverFileLine::SearchCallback(), lldb_private::StackFrameList::SetDefaultFileAndLineToSelectedFrame(), lldb::SBSymbolContext::SetLineEntry(), lldb_private::BreakpointResolver::SetSCMatchesByLine(), lldb_private::ThreadPlanStepOverRange::ShouldStop(), lldb::SBThread::StepOverUntil(), SymbolContext(), lldb_private::SymbolContextSpecifier::SymbolContextMatches(), and lldb_private::ThreadPlanStepOut::ThreadPlanStepOut().

◆ module_sp

lldb::ModuleSP lldb_private::SymbolContext::module_sp

The Module for a given query.

Definition at line 343 of file SymbolContext.h.

Referenced by lldb_private::SearchFilterByModuleListAndCU::AddressPasses(), lldb_private::Symbol::CalculateSymbolContext(), lldb_private::Module::CalculateSymbolContext(), lldb_private::Address::CalculateSymbolContext(), lldb_private::Address::CalculateSymbolContextBlock(), lldb_private::Address::CalculateSymbolContextCompileUnit(), lldb_private::Address::CalculateSymbolContextFunction(), lldb_private::Address::CalculateSymbolContextLineEntry(), lldb_private::Address::CalculateSymbolContextSymbol(), Clear(), lldb_private::ItaniumABILanguageRuntime::CouldHaveDynamicValue(), CommandObjectMemoryRead::DoExecute(), CommandObjectTargetVariable::DoExecute(), CommandObjectTargetModulesShowUnwind::DoExecute(), CommandObjectTargetSymbolsAdd::DoExecute(), lldb_private::SearchFilter::DoModuleIteration(), Dump(), CommandObjectTargetVariable::DumpGlobalVariableList(), CommandObjectSourceInfo::DumpLinesInSymbolContexts(), lldb_private::Variable::DumpLocationForAddress(), DumpStopContext(), FindBestAlternateMangledName(), FindBestGlobalDataSymbol(), lldb_private::Module::FindCompileUnits(), lldb_private::ClangExpressionDeclMap::FindExternalVisibleDecls(), SymbolFilePDB::FindGlobalVariables(), SymbolFileDWARF::FindGlobalVariables(), lldb::SBModule::FindSymbols(), lldb_private::Module::FindTypes(), lldb_private::Module::FindTypesInNamespace(), lldb_private::Symtab::ForEachSymbolContainingFileAddress(), lldb_private::FormatEntity::Format(), lldb_private::Block::GetBlockVariableList(), lldb_private::BreakpointLocation::GetDescription(), GetDescription(), lldb_private::StackFrame::GetFrameCodeAddress(), SymbolFileDWARF::GetFunction(), GetParentOfInlinedScope(), StackFrameRecognizerManagerImpl::GetRecognizerForFrame(), GetResolvedMask(), lldb_private::StackFrame::GetSymbolContext(), lldb_private::Function::GetType(), lldb_private::Value::GetValueAsData(), lldb_private::CompileUnit::GetVariableList(), lldb_private::Variable::LocationIsValidForAddress(), lldb_private::ObjCLanguageRuntime::LookupInCompleteClassCache(), lldb_private::Breakpoint::ModulesChanged(), operator=(), lldb_private::operator==(), lldb_private::Module::ParseAllDebugSymbols(), SymbolFilePDB::ParseDeclsForContext(), lldb_private::Process::PrintWarningOptimization(), lldb_private::Module::ResolveSymbolContextForAddress(), lldb_private::BreakpointResolverFileLine::SearchCallback(), lldb_private::AddressResolverName::SearchCallback(), lldb_private::BreakpointResolverName::SearchCallback(), lldb_private::lldb_renderscript::RSBreakpointResolver::SearchCallback(), lldb_private::lldb_renderscript::RSReduceBreakpointResolver::SearchCallback(), lldb_private::CommandCompletions::ModuleCompleter::SearchCallback(), lldb_private::CommandCompletions::SymbolCompleter::SearchCallback(), lldb_private::lldb_renderscript::RSScriptGroupBreakpointResolver::SearchCallback(), lldb_private::IRExecutionUnit::SearchSpec::SearchSpec(), lldb::SBSymbolContext::SetModule(), SortTypeList(), SymbolContext(), lldb_private::SymbolContextSpecifier::SymbolContextMatches(), and lldb_private::StackFrame::UpdatePreviousFrameFromCurrentFrame().

◆ symbol

Symbol* lldb_private::SymbolContext::symbol

The Symbol for a given query.

Definition at line 348 of file SymbolContext.h.

Referenced by lldb_private::DynamicLoaderDarwin::AlwaysRelyOnEHUnwindInfo(), DynamicLoaderPOSIXDYLD::AlwaysRelyOnEHUnwindInfo(), lldb_private::SymbolContextList::AppendIfUnique(), lldb_private::Symbol::CalculateSymbolContext(), lldb_private::Address::CalculateSymbolContextSymbol(), Clear(), SymbolFileDWARFDebugMap::CompleteType(), lldb_private::ItaniumABILanguageRuntime::CouldHaveDynamicValue(), lldb_private::ThreadPlanStepInRange::DefaultShouldStopHereCallback(), lldb_private::ThreadPlanShouldStopHere::DefaultStepFromHereCallback(), lldb_private::CommandObjectDisassemble::DoExecute(), CommandObjectSourceList::DoExecute(), CommandObjectTargetModulesShowUnwind::DoExecute(), lldb_private::StackID::Dump(), Dump(), lldb_private::Address::Dump(), DumpAddressOffsetFromFunction(), CommandObjectSourceInfo::DumpLinesInFunctions(), DumpStopContext(), lldb_private::Disassembler::ElideMixedSourceAndDisassemblyLine(), FindBestGlobalDataSymbol(), lldb_private::ClangExpressionDeclMap::FindExternalVisibleDecls(), lldb_private::Module::FindFunctions(), lldb_private::Symtab::FindFunctionSymbols(), lldb_private::CPPLanguageRuntime::FindLibCppStdFunctionCallableInfo(), lldb::SBModule::FindSymbols(), lldb_private::Symtab::ForEachSymbolContainingFileAddress(), lldb_private::FormatEntity::Format(), lldb_private::Debugger::FormatDisassemblerAddress(), lldb_private::ThreadPlanStepInRange::FrameMatchesAvoidCriteria(), GetAddressRange(), lldb_private::ArchitectureMips::GetBreakableLoadAddress(), lldb_private::AppleObjCRuntimeV2::GetByteOffsetForIvar(), lldb_private::ThreadPlanStepOverRange::GetDescription(), lldb_private::BreakpointLocation::GetDescription(), GetDescription(), lldb_private::AppleObjCRuntimeV2::GetEncodingToType(), ObjectFileMachO::GetEntryPointAddress(), lldb_private::ItaniumABILanguageRuntime::GetExceptionObjectForThread(), GetFunctionName(), GetLanguage(), lldb_private::AppleObjCRuntime::GetPrintForDebuggerAddr(), lldb_private::DynamicLoaderDarwin::GetPthreadSetSpecificAddress(), StackFrameRecognizerManagerImpl::GetRecognizerForFrame(), GetResolvedMask(), lldb_private::StackFrame::GetStackID(), DynamicLoaderHexagonDYLD::GetStepThroughTrampolinePlan(), lldb_private::DynamicLoaderDarwin::GetStepThroughTrampolinePlan(), DynamicLoaderPOSIXDYLD::GetStepThroughTrampolinePlan(), lldb_private::CPPLanguageRuntime::GetStepThroughTrampolinePlan(), lldb_private::ClangExpressionDeclMap::GetSymbolAddress(), lldb_private::StackFrame::GetSymbolContext(), GetSymbolOrFunctionName(), lldb_private::StackFrame::GuessLanguage(), lldb_private::ThreadPlanStepRange::InSymbol(), lldb_private::RegisterContextLLDB::IsTrapHandlerFrame(), lldb_private::Breakpoint::ModulesChanged(), operator=(), lldb_private::operator==(), lldb_private::Disassembler::PrintInstructions(), lldb_private::RegisterContextLLDB::RegisterContextLLDB(), lldb_private::Symbol::ResolveReExportedSymbolInModuleSpec(), SymbolFileSymtab::ResolveSymbolContext(), lldb_private::Module::ResolveSymbolContextForAddress(), lldb_private::AddressResolverName::SearchCallback(), lldb_private::BreakpointResolverName::SearchCallback(), lldb_private::IRExecutionUnit::SearchSpec::SearchSpec(), lldb_private::process_gdb_remote::GDBRemoteCommunicationClient::ServeSymbolLookups(), lldb::SBSymbolContext::SetSymbol(), lldb_private::ThreadPlanStepInRange::ShouldStop(), SymbolContext(), lldb_private::SymbolContextSpecifier::SymbolContextMatches(), lldb_private::Module::SymbolIndicesToSymbolContextList(), DisassemblerLLVMC::SymbolLookup(), and JITLoaderGDB::Terminate().

◆ target_sp

lldb::TargetSP lldb_private::SymbolContext::target_sp

◆ variable

Variable* lldb_private::SymbolContext::variable

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