SBTypeSummary.h revision d760907c1d42726fa0c8c48efa28385ed339bb94
1//===-- SBTypeSummary.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 LLDB_SBTypeSummary_h_ 11#define LLDB_SBTypeSummary_h_ 12 13#include "lldb/API/SBDefines.h" 14 15namespace lldb { 16 17 class SBTypeSummary 18 { 19 public: 20 21 SBTypeSummary(); 22 23 static SBTypeSummary 24 CreateWithSummaryString (const char* data, 25 uint32_t options = 0); // see lldb::eTypeOption values 26 27 static SBTypeSummary 28 CreateWithFunctionName (const char* data, 29 uint32_t options = 0); // see lldb::eTypeOption values 30 31 static SBTypeSummary 32 CreateWithScriptCode (const char* data, 33 uint32_t options = 0); // see lldb::eTypeOption values 34 35 SBTypeSummary (const lldb::SBTypeSummary &rhs); 36 37 ~SBTypeSummary (); 38 39 bool 40 IsValid() const; 41 42 bool 43 IsFunctionCode(); 44 45 bool 46 IsFunctionName(); 47 48 bool 49 IsSummaryString(); 50 51 const char* 52 GetData (); 53 54 void 55 SetSummaryString (const char* data); 56 57 void 58 SetFunctionName (const char* data); 59 60 void 61 SetFunctionCode (const char* data); 62 63 uint32_t 64 GetOptions (); 65 66 void 67 SetOptions (uint32_t); 68 69 bool 70 GetDescription (lldb::SBStream &description, 71 lldb::DescriptionLevel description_level); 72 73 lldb::SBTypeSummary & 74 operator = (const lldb::SBTypeSummary &rhs); 75 76 bool 77 IsEqualTo (lldb::SBTypeSummary &rhs); 78 79 bool 80 operator == (lldb::SBTypeSummary &rhs); 81 82 bool 83 operator != (lldb::SBTypeSummary &rhs); 84 85 protected: 86 friend class SBDebugger; 87 friend class SBTypeCategory; 88 friend class SBValue; 89 90 lldb::TypeSummaryImplSP 91 GetSP (); 92 93 void 94 SetSP (const lldb::TypeSummaryImplSP &typefilter_impl_sp); 95 96 lldb::TypeSummaryImplSP m_opaque_sp; 97 98 SBTypeSummary (const lldb::TypeSummaryImplSP &); 99 100 bool 101 CopyOnWrite_Impl(); 102 103 bool 104 ChangeSummaryType (bool want_script); 105 106 }; 107 108 109} // namespace lldb 110 111#endif // LLDB_SBTypeSummary_h_ 112