ValueObjectMemory.h [plain text]
#ifndef liblldb_ValueObjectMemory_h_
#define liblldb_ValueObjectMemory_h_
#include "lldb/Core/ValueObject.h"
#include "lldb/Symbol/ClangASTType.h"
namespace lldb_private {
class ValueObjectMemory : public ValueObject
{
public:
static lldb::ValueObjectSP
Create (ExecutionContextScope *exe_scope,
const char *name,
const Address &address,
lldb::TypeSP &type_sp);
static lldb::ValueObjectSP
Create (ExecutionContextScope *exe_scope,
const char *name,
const Address &address,
const ClangASTType &ast_type);
virtual
~ValueObjectMemory();
virtual size_t
GetByteSize();
virtual clang::ASTContext *
GetClangAST ();
virtual lldb::clang_type_t
GetClangType ();
virtual ConstString
GetTypeName();
virtual uint32_t
CalculateNumChildren();
virtual lldb::ValueType
GetValueType() const;
virtual bool
IsInScope ();
virtual Module*
GetModule();
protected:
virtual bool
UpdateValue ();
Address m_address; lldb::TypeSP m_type_sp;
ClangASTType m_clang_type;
private:
ValueObjectMemory (ExecutionContextScope *exe_scope,
const char *name,
const Address &address,
lldb::TypeSP &type_sp);
ValueObjectMemory (ExecutionContextScope *exe_scope,
const char *name,
const Address &address,
const ClangASTType &ast_type);
DISALLOW_COPY_AND_ASSIGN (ValueObjectMemory);
};
}
#endif // liblldb_ValueObjectMemory_h_