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"

Public Member Functions

 SymbolContext ()
 Default constructor.
 
 SymbolContext (SymbolContextScope *sc_scope)
 Construct with an object that knows how to reconstruct its symbol context.
 
 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.
 
 SymbolContext (const lldb::ModuleSP &module_sp, CompileUnit *comp_unit=nullptr, Function *function=nullptr, Block *block=nullptr, LineEntry *line_entry=nullptr, Symbol *symbol=nullptr)
 
 ~SymbolContext ()
 
void Clear (bool clear_target)
 Clear the object's state.
 
void Dump (Stream *s, Target *target) const
 Dump a description of this object to a Stream.
 
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, bool show_function_display_name=false, std::optional< Stream::HighlightSettings > settings=std::nullopt) const
 Dump the stop context in this object to a Stream.
 
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.
 
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.
 
void GetDescription (Stream *s, lldb::DescriptionLevel level, Target *target, std::optional< Stream::HighlightSettings > settings=std::nullopt) const
 
uint32_t GetResolvedMask () const
 
lldb::LanguageType GetLanguage () const
 
BlockGetFunctionBlock ()
 Find a block that defines the function represented by this symbol context.
 
llvm::StringRef GetInstanceVariableName ()
 Determines the name of the instance variable for the this decl context.
 
void SortTypeList (TypeMap &type_map, TypeList &type_list) const
 Sorts the types in TypeMap according to SymbolContext to TypeList.
 
ConstString GetFunctionName (Mangled::NamePreference preference=Mangled::ePreferDemangled) const
 Find a name of the innermost function for the symbol context.
 
LineEntry GetFunctionStartLineEntry () const
 Get the line entry that corresponds to the function.
 
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.
 

Public Attributes

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

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

Constructor & Destructor Documentation

◆ SymbolContext() [1/4]

SymbolContext::SymbolContext ( )

Default constructor.

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

Definition at line 34 of file SymbolContext.cpp.

◆ SymbolContext() [2/4]

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

References lldb_private::SymbolContextScope::CalculateSymbolContext().

◆ SymbolContext() [3/4]

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]module_spA 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.

Definition at line 44 of file SymbolContext.cpp.

References line_entry.

◆ SymbolContext() [4/4]

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

Definition at line 36 of file SymbolContext.cpp.

References line_entry.

◆ ~SymbolContext()

SymbolContext::~SymbolContext ( )
default

Member Function Documentation

◆ Clear()

void SymbolContext::Clear ( bool  clear_target)

◆ Dump()

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

◆ 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,
bool  show_function_display_name = false,
std::optional< Stream::HighlightSettings settings = std::nullopt 
) 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.
[in]show_inline_callsite_line_infoWhen processing an inline block, the line info of the callsite is dumped if this flag is true, otherwise the line info of the actual inlined function is dumped.
[in]patternAn optional regex pattern to match against the stop context description. If specified, parts of the description matching this pattern may be highlighted or processed differently. If this parameter is an empty string or not provided, no highlighting is applied.
Returns
true if some text was dumped, false otherwise.

Definition at line 72 of file SymbolContext.cpp.

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

Referenced by lldb_private::Address::Dump(), lldb_private::StackFrame::Dump(), lldb_private::Variable::DumpDeclaration(), OutputWriterCLI::DumpSegmentContext(), 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 774 of file SymbolContext.cpp.

References lldb_private::ConstString::AsCString(), lldb_private::FileSpec::ClearDirectory(), lldb::eDescriptionLevelFull, lldb::eDescriptionLevelVerbose, error(), 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, FindBestGlobalDataSymbol(), lldb_private::ModuleList::FindFirstModule(), lldb_private::Module::FindSymbolsWithNameAndType(), lldb_private::ModuleList::FindSymbolsWithNameAndType(), lldb_private::Symbol::GetAddress(), lldb_private::StreamString::GetData(), lldb_private::Symbol::GetDemangledNameIsSynthesized(), lldb_private::Symbol::GetDescription(), lldb_private::Target::GetImages(), lldb_private::Symbol::GetMangled(), lldb_private::Mangled::GetMangledName(), 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(), symbol, and target_sp.

Referenced by FindBestGlobalDataSymbol().

◆ 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 393 of file SymbolContext.cpp.

References block, lldb_private::AddressRange::Clear(), function, lldb_private::Function::GetAddressRange(), 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 AppendInstructionToFunctionCallForest(), SystemRuntimeMacOSX::BacktraceRecordingHeadersInitialized(), CalculateSymbolContext(), lldb_private::UnwindTable::GetAddressRange(), lldb_private::CommandObjectDisassemble::GetContainingAddressRanges(), DynamicLoaderHexagonDYLD::GetStepThroughTrampolinePlan(), DynamicLoaderPOSIXDYLD::GetStepThroughTrampolinePlan(), lldb_private::CPPLanguageRuntime::GetStepThroughTrampolinePlan(), lldb_private::InferiorCallMmap(), lldb_private::InferiorCallMunmap(), line_entry_helper(), lldb_private::Disassembler::PrintInstructions(), lldb_private::Address::ResolveFunctionScope(), lldb_private::Module::ResolveSymbolContextForAddress(), and DisassemblerLLVMC::SymbolLookup().

◆ GetAddressRangeFromHereToEndLine()

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

◆ GetDescription()

void SymbolContext::GetDescription ( Stream s,
lldb::DescriptionLevel  level,
Target target,
std::optional< Stream::HighlightSettings settings = std::nullopt 
) 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 532 of file SymbolContext.cpp.

References block, function, lldb_private::Function::GetBlock(), and lldb_private::Block::GetContainingInlinedBlock().

Referenced by GetAddressRangeFromHereToEndLine(), GetInstanceVariableName(), lldb_private::ClangExpressionDeclMap::LookUpLldbClass(), lldb_private::ClangExpressionDeclMap::LookUpLldbObjCClass(), and lldb_private::ClangUserExpression::ScanContext().

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

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

◆ GetInstanceVariableName()

llvm::StringRef SymbolContext::GetInstanceVariableName ( )

Determines the name of the instance variable for the this decl context.

For C++ the name is "this", for Objective-C the name is "self".

Returns
Returns a StringRef for the name of the instance variable.

Definition at line 556 of file SymbolContext.cpp.

References lldb::eLanguageTypeUnknown, lldb_private::Language::FindPlugin(), GetFunctionBlock(), and GetLanguage().

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

◆ 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]inlined_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 inlined_frame_addr will be filled in correctly.

Definition at line 450 of file SymbolContext.cpp.

References block, lldb_private::Block::CalculateSymbolContext(), lldb_private::Address::Clear(), Clear(), lldb_private::LineEntry::column, lldb_private::LineEntry::file_sp, 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::GetLog(), lldb_private::Block::GetParent(), lldb_private::FileSpec::GetPath(), lldb_private::Block::GetRangeContainingAddress(), lldb_private::LineEntry::line, line_entry, LLDB_LOGF, module_sp, lldb_private::LineEntry::original_file_sp, lldb_private::LineEntry::range, lldb_private::Debugger::ReportWarning(), and lldb_private::Symbols.

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

◆ GetResolvedMask()

uint32_t SymbolContext::GetResolvedMask ( ) const

◆ SortTypeList()

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

Member Data Documentation

◆ block

Block* lldb_private::SymbolContext::block = nullptr

The Block for a given query.

Definition at line 317 of file SymbolContext.h.

Referenced by lldb_private::SymbolContextList::AppendIfUnique(), AppendInstructionToFunctionCallForest(), lldb_private::Block::CalculateSymbolContext(), lldb_private::Address::CalculateSymbolContextBlock(), Clear(), CommandObjectSourceList::DisplayFunctionSource(), CommandObjectThreadStepWithTypeAndScope::DoExecute(), lldb_private::StackID::Dump(), lldb_private::Address::Dump(), Dump(), DumpAddressOffsetFromFunction(), lldb_private::Variable::DumpDeclaration(), DumpStopContext(), lldb_private::BreakpointResolverFileLine::FilterContexts(), lldb_private::Module::FindFunctions(), lldb::SBFrame::FindValue(), lldb_private::StackFrame::FindVariable(), lldb_private::FormatEntity::Format(), GetAddressRange(), lldb::SBFrame::GetBlock(), GetDescription(), lldb::SBFrame::GetDisplayFunctionName(), lldb_private::StackFrame::GetFrameBlock(), lldb_private::StackFrameList::GetFramesUpTo(), GetFunctionBlock(), lldb_private::CPlusPlusLanguage::GetFunctionDisplayName(), lldb::SBFrame::GetFunctionName(), GetFunctionName(), GetFunctionStartLineEntry(), lldb_private::StackFrame::GetInScopeVariableList(), GetParentOfInlinedScope(), GetResolvedMask(), lldb_private::LineEntry::GetSameLineContiguousAddressRange(), lldb_private::StackFrame::GetSymbolContext(), lldb_private::ClangExpressionDeclMap::GetTypeSystemClang(), lldb_private::ThreadPlanStepOverRange::IsEquivalentContext(), lldb_private::StackFrame::IsInlined(), lldb::SBFrame::IsInlined(), lldb_private::Variable::IsInScope(), IsSameInstructionSymbolContext(), lldb_private::ClangExpressionDeclMap::LookupFunction(), lldb_private::ClangExpressionDeclMap::LookupLocalVariable(), lldb_private::ClangExpressionDeclMap::LookupLocalVarNamespace(), lldb_private::operator<(), lldb_private::npdb::SymbolFileNativePDB::ParseVariablesForContext(), lldb_private::VerboseTrapFrameRecognizer::RecognizeFrame(), lldb_private::plugin::dwarf::SymbolFileDWARF::ResolveFunction(), lldb_private::plugin::dwarf::SymbolFileDWARF::ResolveFunctionAndBlock(), lldb::SBSymbolContext::SetBlock(), lldb_private::BreakpointResolver::SetSCMatchesByLine(), lldb_private::ThreadPlanStepOverRange::ShouldStop(), SortTypeList(), and lldb_private::SymbolContextSpecifier::SymbolContextMatches().

◆ comp_unit

CompileUnit* lldb_private::SymbolContext::comp_unit = nullptr

The CompileUnit for a given query.

Definition at line 315 of file SymbolContext.h.

Referenced by lldb_private::SearchFilterByModuleListAndCU::AddressPasses(), lldb_private::SymbolContextList::AppendIfUnique(), lldb_private::plugin::dwarf::DWARFCompileUnit::BuildAddressRangeTable(), lldb_private::plugin::dwarf::SymbolFileDWARF::CalculateFrameVariableError(), lldb_private::CompileUnit::CalculateSymbolContext(), lldb_private::Address::CalculateSymbolContextCompileUnit(), Clear(), lldb_private::SourceManager::File::CommonInitializer(), lldb_private::SearchFilter::DoCUIteration(), CommandObjectTargetVariable::DoExecute(), CommandObjectSourceList::DoExecute(), CommandObjectThreadUntil::DoExecute(), Dump(), CommandObjectTargetVariable::DumpGlobalVariableList(), lldb_private::Module::FindCompileUnits(), lldb_private::SymbolFileCTF::FindFunctions(), lldb_private::breakpad::SymbolFileBreakpad::FindFunctions(), lldb_private::npdb::SymbolFileNativePDB::FindFunctions(), lldb_private::plugin::dwarf::SymbolFileDWARF::FindGlobalVariables(), SymbolFilePDB::FindGlobalVariables(), lldb_private::FormatEntity::Format(), GetAddressRangeFromHereToEndLine(), lldb::SBFrame::GetCompileUnit(), lldb_private::plugin::dwarf::SymbolFileDWARFDebugMap::GetCompUnitInfo(), lldb_private::BreakpointLocation::GetDescription(), GetDescription(), lldb_private::plugin::dwarf::SymbolFileDWARF::GetFunction(), lldb_private::StackFrame::GetInScopeVariableList(), lldb_private::StackFrame::GetLanguage(), GetLanguage(), GetModuleConfig(), lldb_private::ValueObject::GetPreferredDisplayLanguage(), GetResolvedMask(), lldb_private::StackFrame::GetStatus(), lldb_private::StackFrame::GetSymbolContext(), lldb_private::plugin::dwarf::SymbolFileDWARFDebugMap::GetSymbolFile(), lldb_private::ClangExpressionSourceCode::GetText(), lldb_private::StackFrame::GetVariableList(), lldb_private::ThreadPlanStepOverRange::IsEquivalentContext(), lldb_private::operator==(), lldb_private::Module::ParseAllDebugSymbols(), lldb_private::plugin::dwarf::SymbolFileDWARF::ParseAndAppendGlobalVariable(), lldb_private::plugin::dwarf::SymbolFileDWARF::ParseImportedModules(), DWARFASTParserClang::ParseTypeFromClangModule(), lldb_private::plugin::dwarf::SymbolFileDWARF::ParseTypes(), lldb_private::plugin::dwarf::SymbolFileDWARF::ParseVariableDIE(), SymbolFilePDB::ParseVariableForPDBData(), SymbolFilePDB::ParseVariables(), SymbolFilePDB::ParseVariablesForContext(), lldb_private::plugin::dwarf::SymbolFileDWARF::ParseVariablesForContext(), lldb_private::npdb::SymbolFileNativePDB::ParseVariablesForContext(), lldb_private::Disassembler::PrintInstructions(), SymbolFilePDB::ResolveFunction(), lldb_private::plugin::dwarf::SymbolFileDWARF::ResolveFunctionAndBlock(), lldb_private::CompileUnit::ResolveSymbolContext(), lldb_private::SearchFilterByModuleListAndCU::Search(), lldb_private::BreakpointResolverFileRegex::SearchCallback(), lldb_private::BreakpointResolverName::SearchCallback(), lldb_private::AddressResolverFileLine::SearchCallback(), lldb_private::FileLineResolver::SearchCallback(), lldb::SBSymbolContext::SetCompileUnit(), SetupDeclVendor(), lldb_private::ThreadPlanStepOverRange::ShouldStop(), SortTypeList(), lldb::SBThread::StepOverUntil(), lldb_private::SymbolContextSpecifier::SymbolContextMatches(), SymbolContextsMightBeEquivalent(), lldb_private::StackFrame::UpdatePreviousFrameFromCurrentFrame(), and DWARFASTParserClang::UpdateSymbolContextScopeForType().

◆ function

Function* lldb_private::SymbolContext::function = nullptr

The Function for a given query.

Definition at line 316 of file SymbolContext.h.

Referenced by lldb_private::BreakpointResolver::AddLocation(), lldb_private::DynamicLoaderDarwin::AlwaysRelyOnEHUnwindInfo(), DynamicLoaderPOSIXDYLD::AlwaysRelyOnEHUnwindInfo(), lldb_private::SymbolContextList::AppendIfUnique(), CalculateDisass(), lldb_private::Function::CalculateSymbolContext(), lldb_private::Address::CalculateSymbolContextFunction(), Clear(), lldb_private::Disassembler::Disassemble(), CommandObjectSourceList::DisplayFunctionSource(), CommandObjectFrameVariable::DoExecute(), CommandObjectTargetModulesShowUnwind::DoExecute(), CommandObjectThreadUntil::DoExecute(), lldb_private::Address::Dump(), Dump(), DumpAddressOffsetFromFunction(), lldb_private::Variable::DumpDeclaration(), lldb_private::Variable::DumpLocations(), DumpStopContext(), OutputWriterCLI::DumpUntracedContext(), Evaluate_DW_OP_entry_value(), lldb_private::BreakpointResolverFileLine::FilterContexts(), lldb_private::SymbolFileCTF::FindFunctions(), lldb_private::breakpad::SymbolFileBreakpad::FindFunctions(), lldb_private::npdb::SymbolFileNativePDB::FindFunctions(), lldb_private::Module::FindFunctions(), lldb_private::FormatEntity::Format(), lldb_private::Debugger::FormatDisassemblerAddress(), GetAddressRange(), lldb_private::ArchitectureMips::GetBreakableLoadAddress(), lldb_private::CommandObjectDisassemble::GetContainingAddressRanges(), lldb_private::CommandObjectDisassemble::GetCurrentFunctionRanges(), lldb::SBBlock::GetDescription(), lldb_private::BreakpointLocation::GetDescription(), GetDescription(), lldb::SBFrame::GetDisplayFunctionName(), lldb_private::StackFrame::GetFrameBaseExpression(), lldb_private::StackFrame::GetFrameBaseValue(), lldb_private::StackFrame::GetFrameBlock(), lldb_private::RegisterContextUnwind::GetFullUnwindPlanForFrame(), lldb::SBFrame::GetFunction(), lldb_private::plugin::dwarf::SymbolFileDWARF::GetFunction(), GetFunctionBlock(), lldb_private::Disassembler::GetFunctionDeclLineEntry(), lldb_private::CPlusPlusLanguage::GetFunctionDisplayName(), lldb::SBFrame::GetFunctionName(), GetFunctionName(), GetFunctionStartLineEntry(), GetLanguage(), GetResolvedMask(), lldb_private::StackFrame::GetStatus(), lldb_private::StackFrame::GetSymbolContext(), GetSymbolOrFunctionName(), lldb_private::StackFrame::GuessLanguage(), lldb_private::RegisterContextUnwind::InitializeNonZerothFrame(), lldb_private::RegisterContextUnwind::InitializeZerothFrame(), lldb_private::ThreadPlanStepRange::InSymbol(), lldb_private::ThreadPlanStepOverRange::IsEquivalentContext(), IsSameInstructionSymbolContext(), lldb_private::RegisterContextUnwind::IsTrapHandlerSymbol(), lldb_private::Thread::JumpToLine(), lldb_private::Variable::LocationIsValidForAddress(), lldb_private::Variable::LocationIsValidForFrame(), lldb_private::DWARFExpressionList::MatchesOperand(), lldb_private::operator<(), lldb_private::operator==(), lldb_private::Module::ParseAllDebugSymbols(), lldb_private::plugin::dwarf::SymbolFileDWARF::ParseTypes(), lldb_private::plugin::dwarf::SymbolFileDWARF::ParseVariableDIE(), SymbolFilePDB::ParseVariableForPDBData(), SymbolFilePDB::ParseVariables(), SymbolFilePDB::ParseVariablesForContext(), lldb_private::plugin::dwarf::SymbolFileDWARF::ParseVariablesForContext(), lldb_private::npdb::SymbolFileNativePDB::ParseVariablesForContext(), lldb_private::plugin::dwarf::SymbolFileDWARF::ParseVariablesInFunctionContext(), lldb_private::plugin::dwarf::SymbolFileDWARF::ParseVariablesInFunctionContextRecursive(), lldb_private::Disassembler::PrintInstructions(), lldb_private::Process::PrintWarningOptimization(), RemoveFunctionsWithModuleNotEqualTo(), lldb_private::plugin::dwarf::SymbolFileDWARF::ResolveFunction(), SymbolFilePDB::ResolveFunction(), lldb_private::plugin::dwarf::SymbolFileDWARF::ResolveFunctionAndBlock(), lldb_private::SymbolFileCTF::ResolveSymbolContext(), lldb_private::Thread::ReturnFromFrame(), lldb_private::ClangUserExpression::ScanContext(), lldb::SBSymbolContext::SetFunction(), lldb_private::ThreadPlanStepInRange::ShouldStop(), lldb_private::ThreadPlanStepOverRange::ShouldStop(), SortTypeList(), lldb::SBThread::StepOverUntil(), lldb_private::SymbolContextSpecifier::SymbolContextMatches(), SymbolContextsMightBeEquivalent(), DisassemblerLLVMC::SymbolLookup(), lldb_private::StackFrameList::SynthesizeTailCallFrames(), lldb_private::ThreadPlanStepOut::ThreadPlanStepOut(), lldb_private::StackFrame::UpdatePreviousFrameFromCurrentFrame(), DWARFASTParserClang::UpdateSymbolContextScopeForType(), and lldb_private::ValueObjectVariable::UpdateValue().

◆ line_entry

LineEntry lldb_private::SymbolContext::line_entry

The LineEntry for a given query.

Definition at line 318 of file SymbolContext.h.

Referenced by lldb_private::BreakpointResolver::AddLocation(), lldb_private::SymbolContextList::AppendIfUnique(), lldb_private::Address::CalculateSymbolContextLineEntry(), Clear(), lldb_private::ThreadPlanShouldStopHere::DefaultShouldStopHereCallback(), lldb_private::ThreadPlanShouldStopHere::DefaultStepFromHereCallback(), CommandObjectThreadJump::DoExecute(), CommandObjectThreadStepWithTypeAndScope::DoExecute(), Dump(), lldb_private::Variable::DumpDeclaration(), OutputWriterCLI::DumpSegmentContext(), DumpStopContext(), lldb_private::BreakpointResolverFileLine::FilterContexts(), lldb_private::LineTable::FindLineEntriesForFileIndex(), lldb_private::FormatEntity::Format(), lldb_private::StringSummaryFormat::FormatObject(), GetAddressRange(), GetAddressRangeFromHereToEndLine(), lldb_private::CommandObjectDisassemble::GetCurrentLineRanges(), CommandObjectBreakpointSet::GetDefaultFile(), lldb_private::BreakpointLocation::GetDescription(), lldb_private::ThreadPlanStepInRange::GetDescription(), lldb_private::ThreadPlanStepOverRange::GetDescription(), GetDescription(), lldb_private::StackFrameList::GetFramesUpTo(), lldb_private::Disassembler::GetFunctionDeclLineEntry(), GetFunctionStartLineEntry(), lldb::SBFrame::GetLineEntry(), GetParentOfInlinedScope(), lldb_private::Symbol::GetPrologueByteSize(), GetResolvedMask(), lldb_private::LineEntry::GetSameLineContiguousAddressRange(), lldb_private::StackFrame::GetStatus(), lldb_private::Thread::GetStatus(), lldb_private::StackFrame::GetSymbolContext(), lldb_private::ClangExpressionSourceCode::GetText(), lldb_private::StackFrame::HasDebugInformation(), lldb_private::ThreadPlanStepRange::InRange(), IsSameInstructionSymbolContext(), lldb_private::operator==(), lldb_private::Disassembler::PrintInstructions(), lldb_private::CompileUnit::ResolveSymbolContext(), lldb_private::StackFrameList::SetDefaultFileAndLineToSelectedFrame(), lldb::SBSymbolContext::SetLineEntry(), lldb_private::BreakpointResolver::SetSCMatchesByLine(), lldb_private::Thread::SetSelectedFrameByIndexNoisily(), lldb_private::ThreadPlanStepOverRange::ShouldStop(), lldb_private::Thread::StepIn(), lldb::SBThread::StepInto(), lldb_private::Thread::StepOver(), lldb::SBThread::StepOver(), 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 314 of file SymbolContext.h.

Referenced by lldb_private::SearchFilterByModuleListAndCU::AddressPasses(), CommandObjectTargetSymbolsAdd::AddSymbolsForFrame(), lldb_private::Module::CalculateSymbolContext(), lldb_private::Symbol::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(), CommandObjectTargetVariable::DoExecute(), CommandObjectMemoryRead::DoExecute(), lldb_private::SearchFilter::DoModuleIteration(), Dump(), CommandObjectTargetVariable::DumpGlobalVariableList(), DumpStopContext(), lldb_private::CPlusPlusLanguage::FindBestAlternateFunctionMangledName(), FindBestGlobalDataSymbol(), lldb_private::Module::FindCompileUnits(), lldb_private::breakpad::SymbolFileBreakpad::FindFunctions(), lldb_private::plugin::dwarf::SymbolFileDWARF::FindGlobalVariables(), SymbolFilePDB::FindGlobalVariables(), lldb_private::IRExecutionUnit::FindInSymbols(), lldb::SBModule::FindSymbols(), lldb_private::FormatEntity::Format(), lldb_private::ThreadPlanStepInRange::FrameMatchesAvoidCriteria(), lldb_private::Block::GetBlockVariableList(), lldb_private::BreakpointLocation::GetDescription(), GetDescription(), lldb_private::StackFrame::GetFrameCodeAddress(), lldb_private::plugin::dwarf::SymbolFileDWARF::GetFunction(), lldb::SBFrame::GetModule(), GetModuleName(), GetParentOfInlinedScope(), lldb_private::StackFrameRecognizerManager::GetRecognizerForFrame(), GetResolvedMask(), lldb_private::RegisterContextUnwind::GetReturnAddressHint(), lldb_private::StackFrame::GetSymbolContext(), lldb_private::Function::GetType(), lldb_private::Value::GetValueAsData(), lldb_private::CompileUnit::GetVariableList(), lldb_private::StackFrame::GetVariableList(), lldb_private::ClangExpressionDeclMap::GetVariableValue(), IsSameInstructionSymbolContext(), lldb_private::Variable::LocationIsValidForAddress(), CommandObjectTargetModulesLookup::LookupHere(), lldb_private::ObjCLanguageRuntime::LookupInCompleteClassCache(), LookupTypeHere(), LookupTypeInModule(), lldb_private::operator==(), lldb_private::Module::ParseAllDebugSymbols(), lldb_private::Process::PrintWarningOptimization(), lldb_private::Process::PrintWarningUnsupportedLanguage(), lldb_private::AssertFrameRecognizer::RecognizeFrame(), SymbolFilePDB::ResolveFunction(), lldb_private::CompileUnit::ResolveSymbolContext(), lldb_private::Module::ResolveSymbolContextForAddress(), lldb_private::BreakpointResolverFileLine::SearchCallback(), lldb_private::BreakpointResolverName::SearchCallback(), lldb::SBSymbolContext::SetModule(), SortTypeList(), lldb_private::StackFrame::StackFrame(), lldb_private::SymbolContextSpecifier::SymbolContextMatches(), SymbolContextsMightBeEquivalent(), lldb_private::Symtab::SymbolIndicesToSymbolContextList(), lldb_private::StackFrame::UpdatePreviousFrameFromCurrentFrame(), and DWARFASTParserClang::UpdateSymbolContextScopeForType().

◆ symbol

Symbol* lldb_private::SymbolContext::symbol = nullptr

The Symbol for a given query.

Definition at line 319 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(), lldb_private::ThreadPlanStepInRange::DefaultShouldStopHereCallback(), lldb_private::ThreadPlanShouldStopHere::DefaultStepFromHereCallback(), lldb_private::Disassembler::Disassemble(), CommandObjectTargetModulesShowUnwind::DoExecute(), lldb_private::StackID::Dump(), lldb_private::Address::Dump(), Dump(), DumpAddressOffsetFromFunction(), DumpStopContext(), OutputWriterCLI::DumpUntracedContext(), lldb_private::Disassembler::ElideMixedSourceAndDisassemblyLine(), FindBestGlobalDataSymbol(), lldb_private::Module::FindFunctions(), lldb_private::Symtab::FindFunctionSymbols(), lldb_private::CPPLanguageRuntime::FindLibCppStdFunctionCallableInfo(), lldb::SBModule::FindSymbols(), lldb_private::FormatEntity::Format(), lldb_private::Debugger::FormatDisassemblerAddress(), lldb_private::ThreadPlanStepInRange::FrameMatchesAvoidCriteria(), GetAddressRange(), lldb_private::ArchitectureMips::GetBreakableLoadAddress(), lldb_private::AppleObjCRuntimeV2::GetByteOffsetForIvar(), lldb_private::AppleObjCRuntimeV2::GetCFBooleanValuesIfNeeded(), lldb_private::CommandObjectDisassemble::GetContainingAddressRanges(), lldb_private::CommandObjectDisassemble::GetCurrentFunctionRanges(), lldb_private::BreakpointLocation::GetDescription(), GetDescription(), lldb::SBFrame::GetDisplayFunctionName(), ObjectFileMachO::GetEntryPointAddress(), lldb_private::ItaniumABILanguageRuntime::GetExceptionObjectForThread(), lldb_private::RegisterContextUnwind::GetFullUnwindPlanForFrame(), lldb_private::CPlusPlusLanguage::GetFunctionDisplayName(), lldb::SBFrame::GetFunctionName(), GetFunctionName(), GetLanguage(), lldb_private::AppleObjCRuntime::GetPrintForDebuggerAddr(), lldb_private::DynamicLoaderDarwin::GetPthreadSetSpecificAddress(), lldb_private::StackFrameRecognizerManager::GetRecognizerForFrame(), GetResolvedMask(), lldb_private::RegisterContextUnwind::GetReturnAddressHint(), lldb_private::StackFrame::GetStackID(), DynamicLoaderHexagonDYLD::GetStepThroughTrampolinePlan(), lldb_private::DynamicLoaderDarwin::GetStepThroughTrampolinePlan(), DynamicLoaderPOSIXDYLD::GetStepThroughTrampolinePlan(), lldb_private::CPPLanguageRuntime::GetStepThroughTrampolinePlan(), lldb::SBFrame::GetSymbol(), JITLoaderGDB::GetSymbolAddress(), lldb_private::StackFrame::GetSymbolContext(), GetSymbolOrFunctionName(), lldb_private::StackFrame::GuessLanguage(), lldb_private::RegisterContextUnwind::InitializeNonZerothFrame(), lldb_private::RegisterContextUnwind::InitializeZerothFrame(), lldb_private::ThreadPlanStepRange::InSymbol(), lldb_private::ThreadPlanStepOverRange::IsEquivalentContext(), IsSameInstructionSymbolContext(), lldb_private::RegisterContextUnwind::IsTrapHandlerSymbol(), lldb_private::operator==(), lldb_private::Disassembler::PrintInstructions(), lldb_private::SymbolFileCTF::ResolveSymbolContext(), lldb_private::SymbolFileJSON::ResolveSymbolContext(), SymbolFileSymtab::ResolveSymbolContext(), lldb_private::Module::ResolveSymbolContextForAddress(), lldb::SBSymbolContext::SetSymbol(), lldb_private::ThreadPlanStepInRange::ShouldStop(), lldb_private::SymbolContextSpecifier::SymbolContextMatches(), SymbolContextsMightBeEquivalent(), lldb_private::Symtab::SymbolIndicesToSymbolContextList(), lldb_private::Module::SymbolIndicesToSymbolContextList(), and DisassemblerLLVMC::SymbolLookup().

◆ target_sp

lldb::TargetSP lldb_private::SymbolContext::target_sp

◆ variable

Variable* lldb_private::SymbolContext::variable
Initial value:
=
nullptr

The global variable matching the given query.

Definition at line 320 of file SymbolContext.h.

Referenced by lldb_private::Variable::CalculateSymbolContext(), Clear(), Dump(), GetDescription(), GetLanguage(), GetResolvedMask(), lldb_private::operator==(), and lldb_private::SymbolFileCTF::ResolveSymbolContext().


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