LLDB mainline
Public Member Functions | Static Public Attributes | Protected Member Functions | Private Types | Private Attributes | List of all members
lldb_private::PersistentExpressionState Class Referenceabstract

#include <ExpressionVariable.h>

Inheritance diagram for lldb_private::PersistentExpressionState:
Inheritance graph
[legend]

Public Member Functions

 PersistentExpressionState ()
 
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< CompilerTypeGetCompilerTypeFromPersistentDecl (ConstString type_name)=0
 
virtual lldb::addr_t LookupSymbol (ConstString name)
 
void RegisterExecutionUnit (lldb::IRExecutionUnitSP &execution_unit_sp)
 
- Public Member Functions inherited from lldb_private::ExpressionVariableList
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 ()
 

Static Public Attributes

static char ID
 LLVM RTTI support.
 

Protected Member Functions

virtual llvm::StringRef GetPersistentVariablePrefix (bool is_error=false) const =0
 

Private Types

typedef std::set< lldb::IRExecutionUnitSPExecutionUnitSet
 
typedef llvm::DenseMap< const char *, lldb::addr_tSymbolMap
 

Private Attributes

ExecutionUnitSet m_execution_units
 The execution units that contain valuable symbols.
 
SymbolMap m_symbol_map
 The addresses of the symbols in m_execution_units.
 

Detailed Description

Definition at line 203 of file ExpressionVariable.h.

Member Typedef Documentation

◆ ExecutionUnitSet

Definition at line 241 of file ExpressionVariable.h.

◆ SymbolMap

typedef llvm::DenseMap<const char *, lldb::addr_t> lldb_private::PersistentExpressionState::SymbolMap
private

Definition at line 245 of file ExpressionVariable.h.

Constructor & Destructor Documentation

◆ PersistentExpressionState()

PersistentExpressionState::PersistentExpressionState ( )
default

◆ ~PersistentExpressionState()

PersistentExpressionState::~PersistentExpressionState ( )
virtualdefault

Member Function Documentation

◆ CreatePersistentVariable() [1/2]

virtual lldb::ExpressionVariableSP lldb_private::PersistentExpressionState::CreatePersistentVariable ( const lldb::ValueObjectSP valobj_sp)
pure virtual

◆ CreatePersistentVariable() [2/2]

virtual lldb::ExpressionVariableSP lldb_private::PersistentExpressionState::CreatePersistentVariable ( ExecutionContextScope exe_scope,
ConstString  name,
const CompilerType type,
lldb::ByteOrder  byte_order,
uint32_t  addr_byte_size 
)
pure virtual

◆ GetCompilerTypeFromPersistentDecl()

virtual std::optional< CompilerType > lldb_private::PersistentExpressionState::GetCompilerTypeFromPersistentDecl ( ConstString  type_name)
pure virtual

◆ GetNextPersistentVariableName()

virtual ConstString lldb_private::PersistentExpressionState::GetNextPersistentVariableName ( bool  is_error = false)
pure virtual

Return a new persistent variable name with the specified prefix.

Referenced by EntityResultVariable::Dematerialize(), lldb_private::ABI::GetReturnValueObject(), and lldb_private::ValueObject::Persist().

◆ GetPersistentVariablePrefix()

virtual llvm::StringRef lldb_private::PersistentExpressionState::GetPersistentVariablePrefix ( bool  is_error = false) const
protectedpure virtual

◆ LookupSymbol()

lldb::addr_t PersistentExpressionState::LookupSymbol ( ConstString  name)
virtual

◆ RegisterExecutionUnit()

void PersistentExpressionState::RegisterExecutionUnit ( lldb::IRExecutionUnitSP execution_unit_sp)

◆ RemovePersistentVariable()

virtual void lldb_private::PersistentExpressionState::RemovePersistentVariable ( lldb::ExpressionVariableSP  variable)
pure virtual

Member Data Documentation

◆ ID

char PersistentExpressionState::ID
static

LLVM RTTI support.

Definition at line 208 of file ExpressionVariable.h.

◆ m_execution_units

ExecutionUnitSet lldb_private::PersistentExpressionState::m_execution_units
private

The execution units that contain valuable symbols.

Definition at line 243 of file ExpressionVariable.h.

Referenced by RegisterExecutionUnit().

◆ m_symbol_map

SymbolMap lldb_private::PersistentExpressionState::m_symbol_map
private

The addresses of the symbols in m_execution_units.

Definition at line 247 of file ExpressionVariable.h.

Referenced by LookupSymbol(), and RegisterExecutionUnit().


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