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