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