LLDB mainline
|
#include <ExpressionVariable.h>
Public Types | |
enum | LLVMCastKind { eKindClang , eKindSwift , eKindGo , kNumKinds } |
Public Member Functions | |
LLVMCastKind | getKind () const |
PersistentExpressionState (LLVMCastKind kind) | |
virtual | ~PersistentExpressionState () |
virtual lldb::ExpressionVariableSP | CreatePersistentVariable (const lldb::ValueObjectSP &valobj_sp)=0 |
virtual lldb::ExpressionVariableSP | CreatePersistentVariable (ExecutionContextScope *exe_scope, ConstString name, const CompilerType &type, lldb::ByteOrder byte_order, uint32_t addr_byte_size)=0 |
virtual ConstString | GetNextPersistentVariableName (bool is_error=false)=0 |
Return a new persistent variable name with the specified prefix. | |
virtual void | RemovePersistentVariable (lldb::ExpressionVariableSP variable)=0 |
virtual std::optional< CompilerType > | GetCompilerTypeFromPersistentDecl (ConstString type_name)=0 |
virtual lldb::addr_t | LookupSymbol (ConstString name) |
void | RegisterExecutionUnit (lldb::IRExecutionUnitSP &execution_unit_sp) |
![]() | |
size_t | GetSize () |
Implementation of methods in ExpressionVariableListBase. | |
lldb::ExpressionVariableSP | GetVariableAtIndex (size_t index) |
size_t | AddVariable (const lldb::ExpressionVariableSP &var_sp) |
lldb::ExpressionVariableSP | AddNewlyConstructedVariable (ExpressionVariable *var) |
bool | ContainsVariable (const lldb::ExpressionVariableSP &var_sp) |
lldb::ExpressionVariableSP | GetVariable (ConstString name) |
Finds a variable by name in the list. | |
lldb::ExpressionVariableSP | GetVariable (llvm::StringRef name) |
void | RemoveVariable (lldb::ExpressionVariableSP var_sp) |
void | Clear () |
Protected Member Functions | |
virtual llvm::StringRef | GetPersistentVariablePrefix (bool is_error=false) const =0 |
Private Types | |
typedef std::set< lldb::IRExecutionUnitSP > | ExecutionUnitSet |
typedef llvm::DenseMap< const char *, lldb::addr_t > | SymbolMap |
Private Attributes | |
LLVMCastKind | m_kind |
ExecutionUnitSet | m_execution_units |
The execution units that contain valuable symbols. | |
SymbolMap | m_symbol_map |
The addresses of the symbols in m_execution_units. | |
Definition at line 204 of file ExpressionVariable.h.
|
private |
Definition at line 244 of file ExpressionVariable.h.
|
private |
Definition at line 248 of file ExpressionVariable.h.
Enumerator | |
---|---|
eKindClang | |
eKindSwift | |
eKindGo | |
kNumKinds |
Definition at line 207 of file ExpressionVariable.h.
|
inline |
Definition at line 211 of file ExpressionVariable.h.
|
virtualdefault |
|
pure virtual |
Implemented in lldb_private::ClangPersistentVariables.
Referenced by EntityResultVariable::Dematerialize(), lldb_private::ABI::GetReturnValueObject(), and lldb_private::ValueObject::Persist().
|
pure virtual |
Implemented in lldb_private::ClangPersistentVariables.
|
pure virtual |
Implemented in lldb_private::ClangPersistentVariables.
|
inline |
Definition at line 209 of file ExpressionVariable.h.
References m_kind.
Referenced by lldb_private::ClangPersistentVariables::classof().
|
pure virtual |
Return a new persistent variable name with the specified prefix.
Implemented in lldb_private::ClangPersistentVariables.
Referenced by EntityResultVariable::Dematerialize(), lldb_private::ABI::GetReturnValueObject(), and lldb_private::ValueObject::Persist().
|
protectedpure virtual |
Implemented in lldb_private::ClangPersistentVariables.
|
virtual |
Definition at line 35 of file ExpressionVariable.cpp.
References lldb_private::ConstString::GetCString(), LLDB_INVALID_ADDRESS, and m_symbol_map.
void PersistentExpressionState::RegisterExecutionUnit | ( | lldb::IRExecutionUnitSP & | execution_unit_sp | ) |
Definition at line 44 of file ExpressionVariable.cpp.
References lldb_private::Expressions, lldb_private::GetLog(), LLDB_INVALID_ADDRESS, LLDB_LOGF, m_execution_units, and m_symbol_map.
|
pure virtual |
Implemented in lldb_private::ClangPersistentVariables.
|
private |
The execution units that contain valuable symbols.
Definition at line 246 of file ExpressionVariable.h.
Referenced by RegisterExecutionUnit().
|
private |
Definition at line 242 of file ExpressionVariable.h.
Referenced by getKind().
|
private |
The addresses of the symbols in m_execution_units.
Definition at line 250 of file ExpressionVariable.h.
Referenced by LookupSymbol(), and RegisterExecutionUnit().