LLDB mainline
EntityResultVariable Class Reference
Inheritance diagram for EntityResultVariable:
[legend]

Public Member Functions

 EntityResultVariable (const CompilerType &type, bool is_program_reference, bool keep_in_memory, Materializer::PersistentVariableDelegate *delegate)
void Materialize (lldb::StackFrameSP &frame_sp, IRMemoryMap &map, lldb::addr_t process_address, Status &err) override
void Dematerialize (lldb::StackFrameSP &frame_sp, IRMemoryMap &map, lldb::addr_t process_address, lldb::addr_t frame_top, lldb::addr_t frame_bottom, Status &err) override
void DumpToLog (IRMemoryMap &map, lldb::addr_t process_address, Log *log) override
void Wipe (IRMemoryMap &map, lldb::addr_t process_address) override
Public Member Functions inherited from lldb_private::Materializer::Entity
 Entity ()=default
virtual ~Entity ()=default
uint32_t GetAlignment ()
uint32_t GetSize ()
uint32_t GetOffset ()
void SetOffset (uint32_t offset)

Private Attributes

CompilerType m_type
bool m_is_program_reference
 This is used both to control whether this result entity can (and should) track the value in inferior memory, as well as to control whether LLDB needs to allocate memory for the variable during materialization.
bool m_keep_in_memory
lldb::addr_t m_temporary_allocation = LLDB_INVALID_ADDRESS
size_t m_temporary_allocation_size = 0
Materializer::PersistentVariableDelegatem_delegate

Additional Inherited Members

Protected Attributes inherited from lldb_private::Materializer::Entity
uint32_t m_alignment = 1
uint32_t m_size = 0
uint32_t m_offset = 0

Detailed Description

Definition at line 919 of file Materializer.cpp.

Constructor & Destructor Documentation

◆ EntityResultVariable()

Member Function Documentation

◆ Dematerialize()

◆ DumpToLog()

◆ Materialize()

◆ Wipe()

void EntityResultVariable::Wipe ( IRMemoryMap & map,
lldb::addr_t process_address )
inlineoverridevirtual

Member Data Documentation

◆ m_delegate

Materializer::PersistentVariableDelegate* EntityResultVariable::m_delegate
private

Definition at line 1207 of file Materializer.cpp.

Referenced by Dematerialize(), and EntityResultVariable().

◆ m_is_program_reference

bool EntityResultVariable::m_is_program_reference
private

This is used both to control whether this result entity can (and should) track the value in inferior memory, as well as to control whether LLDB needs to allocate memory for the variable during materialization.

Definition at line 1202 of file Materializer.cpp.

Referenced by Dematerialize(), EntityResultVariable(), and Materialize().

◆ m_keep_in_memory

bool EntityResultVariable::m_keep_in_memory
private

Definition at line 1203 of file Materializer.cpp.

Referenced by Dematerialize(), EntityResultVariable(), and Wipe().

◆ m_temporary_allocation

lldb::addr_t EntityResultVariable::m_temporary_allocation = LLDB_INVALID_ADDRESS
private

Definition at line 1205 of file Materializer.cpp.

Referenced by Dematerialize(), DumpToLog(), Materialize(), and Wipe().

◆ m_temporary_allocation_size

size_t EntityResultVariable::m_temporary_allocation_size = 0
private

Definition at line 1206 of file Materializer.cpp.

Referenced by Dematerialize(), DumpToLog(), Materialize(), and Wipe().

◆ m_type

CompilerType EntityResultVariable::m_type
private

Definition at line 1198 of file Materializer.cpp.

Referenced by Dematerialize(), EntityResultVariable(), and Materialize().


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