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

#include <ExpressionVariable.h>

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

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
 
ConstString GetNextPersistentVariableName (Target &target, llvm::StringRef prefix)
 Return a new persistent variable name with the specified prefix. More...
 
virtual llvm::StringRef GetPersistentVariablePrefix (bool is_error=false) const =0
 
virtual void RemovePersistentVariable (lldb::ExpressionVariableSP variable)=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. More...
 
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. More...
 
lldb::ExpressionVariableSP GetVariable (llvm::StringRef name)
 
void RemoveVariable (lldb::ExpressionVariableSP var_sp)
 
void Clear ()
 

Detailed Description

Definition at line 207 of file ExpressionVariable.h.

Member Enumeration Documentation

◆ LLVMCastKind

Enumerator
eKindClang 
eKindSwift 
eKindGo 
kNumKinds 

Definition at line 210 of file ExpressionVariable.h.

Constructor & Destructor Documentation

◆ PersistentExpressionState()

lldb_private::PersistentExpressionState::PersistentExpressionState ( LLVMCastKind  kind)
inline

Definition at line 214 of file ExpressionVariable.h.

References lldb_private::ExpressionVariable::m_kind.

◆ ~PersistentExpressionState()

PersistentExpressionState::~PersistentExpressionState ( )
virtual

Definition at line 31 of file ExpressionVariable.cpp.

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

◆ getKind()

LLVMCastKind lldb_private::PersistentExpressionState::getKind ( ) const
inline

◆ GetNextPersistentVariableName()

ConstString PersistentExpressionState::GetNextPersistentVariableName ( Target target,
llvm::StringRef  prefix 
)

Return a new persistent variable name with the specified prefix.

Definition at line 84 of file ExpressionVariable.cpp.

References lldb_private::Target::GetNextPersistentVariableIndex().

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

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