ValueObjectConstResult.h revision 66ed2fbeaf588fe4105a1305f7e956dcf9fbe299
1//===-- ValueObjectConstResult.h --------------------------------*- C++ -*-===//
2//
3//                     The LLVM Compiler Infrastructure
4//
5// This file is distributed under the University of Illinois Open Source
6// License. See LICENSE.TXT for details.
7//
8//===----------------------------------------------------------------------===//
9
10#ifndef liblldb_ValueObjectChild_h_
11#define liblldb_ValueObjectChild_h_
12
13// C Includes
14// C++ Includes
15// Other libraries and framework includes
16// Project includes
17#include "lldb/Core/ValueObject.h"
18
19namespace lldb_private {
20
21//----------------------------------------------------------------------
22// A child of another ValueObject.
23//----------------------------------------------------------------------
24class ValueObjectConstResult : public ValueObject
25{
26public:
27    ValueObjectConstResult (clang::ASTContext *clang_ast,
28                            void *clang_type,
29                            const ConstString &name,
30                            const lldb::DataBufferSP &result_data_sp,
31                            lldb::ByteOrder byte_order,
32                            uint8_t addr_size);
33
34
35    virtual ~ValueObjectConstResult();
36
37    virtual size_t
38    GetByteSize();
39
40    virtual clang::ASTContext *
41    GetClangAST ();
42
43    virtual void *
44    GetClangType ();
45
46    virtual lldb::ValueType
47    GetValueType() const;
48
49    virtual uint32_t
50    CalculateNumChildren();
51
52    virtual ConstString
53    GetTypeName();
54
55    virtual void
56    UpdateValue (ExecutionContextScope *exe_scope);
57
58    virtual bool
59    IsInScope (StackFrame *frame);
60
61protected:
62    clang::ASTContext *m_clang_ast; // The clang AST that the clang type comes from
63    ConstString m_type_name;
64
65private:
66    DISALLOW_COPY_AND_ASSIGN (ValueObjectConstResult);
67};
68
69} // namespace lldb_private
70
71#endif  // liblldb_ValueObjectChild_h_
72