#include "lldb/Expression/Materializer.h"
#include "lldb/Core/DumpDataExtractor.h"
#include "lldb/Core/ValueObjectConstResult.h"
#include "lldb/Core/ValueObjectVariable.h"
#include "lldb/Expression/ExpressionVariable.h"
#include "lldb/Symbol/Symbol.h"
#include "lldb/Symbol/Type.h"
#include "lldb/Symbol/Variable.h"
#include "lldb/Target/ExecutionContext.h"
#include "lldb/Target/RegisterContext.h"
#include "lldb/Target/StackFrame.h"
#include "lldb/Target/Target.h"
#include "lldb/Target/Thread.h"
#include "lldb/Utility/LLDBLog.h"
#include "lldb/Utility/Log.h"
#include "lldb/Utility/RegisterValue.h"
#include "lldb/lldb-forward.h"
#include <memory>
#include <optional>
usingnamespacelldb_private;
static constexpr uint32_t g_default_var_alignment = …;
static constexpr uint32_t g_default_var_byte_size = …;
uint32_t Materializer::AddStructMember(Entity &entity) { … }
class EntityPersistentVariable : public Materializer::Entity { … };
uint32_t Materializer::AddPersistentVariable(
lldb::ExpressionVariableSP &persistent_variable_sp,
PersistentVariableDelegate *delegate, Status &err) { … }
class EntityVariableBase : public Materializer::Entity { … };
class EntityVariable : public EntityVariableBase { … };
class EntityValueObject : public EntityVariableBase { … };
uint32_t Materializer::AddVariable(lldb::VariableSP &variable_sp, Status &err) { … }
uint32_t Materializer::AddValueObject(ConstString name,
ValueObjectProviderTy valobj_provider,
Status &err) { … }
class EntityResultVariable : public Materializer::Entity { … };
uint32_t Materializer::AddResultVariable(const CompilerType &type,
bool is_program_reference,
bool keep_in_memory,
PersistentVariableDelegate *delegate,
Status &err) { … }
class EntitySymbol : public Materializer::Entity { … };
uint32_t Materializer::AddSymbol(const Symbol &symbol_sp, Status &err) { … }
class EntityRegister : public Materializer::Entity { … };
uint32_t Materializer::AddRegister(const RegisterInfo ®ister_info,
Status &err) { … }
Materializer::~Materializer() { … }
Materializer::DematerializerSP
Materializer::Materialize(lldb::StackFrameSP &frame_sp, IRMemoryMap &map,
lldb::addr_t process_address, Status &error) { … }
void Materializer::Dematerializer::Dematerialize(Status &error,
lldb::addr_t frame_bottom,
lldb::addr_t frame_top) { … }
void Materializer::Dematerializer::Wipe() { … }
Materializer::PersistentVariableDelegate::PersistentVariableDelegate() =
default;
Materializer::PersistentVariableDelegate::~PersistentVariableDelegate() =
default;