SBTypeSummary.h revision 280031
1254721Semaste//===-- SBTypeSummary.h -------------------------------------------*- C++ -*-===// 2254721Semaste// 3254721Semaste// The LLVM Compiler Infrastructure 4254721Semaste// 5254721Semaste// This file is distributed under the University of Illinois Open Source 6254721Semaste// License. See LICENSE.TXT for details. 7254721Semaste// 8254721Semaste//===----------------------------------------------------------------------===// 9254721Semaste 10254721Semaste#ifndef LLDB_SBTypeSummary_h_ 11254721Semaste#define LLDB_SBTypeSummary_h_ 12254721Semaste 13254721Semaste#include "lldb/API/SBDefines.h" 14254721Semaste 15254721Semaste#ifndef LLDB_DISABLE_PYTHON 16254721Semaste 17254721Semastenamespace lldb { 18280031Sdim class SBTypeSummaryOptions 19280031Sdim { 20280031Sdim public: 21280031Sdim SBTypeSummaryOptions(); 22280031Sdim 23280031Sdim SBTypeSummaryOptions (const lldb::SBTypeSummaryOptions &rhs); 24280031Sdim 25280031Sdim SBTypeSummaryOptions (const lldb_private::TypeSummaryOptions *lldb_object_ptr); 26280031Sdim 27280031Sdim ~SBTypeSummaryOptions (); 28280031Sdim 29280031Sdim bool 30280031Sdim IsValid (); 31280031Sdim 32280031Sdim lldb::LanguageType 33280031Sdim GetLanguage (); 34280031Sdim 35280031Sdim lldb::TypeSummaryCapping 36280031Sdim GetCapping (); 37280031Sdim 38280031Sdim void 39280031Sdim SetLanguage (lldb::LanguageType); 40280031Sdim 41280031Sdim void 42280031Sdim SetCapping (lldb::TypeSummaryCapping); 43280031Sdim 44280031Sdim protected: 45280031Sdim friend class SBValue; 46280031Sdim 47280031Sdim lldb_private::TypeSummaryOptions * 48280031Sdim operator->(); 49280031Sdim 50280031Sdim const lldb_private::TypeSummaryOptions * 51280031Sdim operator->() const; 52280031Sdim 53280031Sdim lldb_private::TypeSummaryOptions * 54280031Sdim get (); 55280031Sdim 56280031Sdim lldb_private::TypeSummaryOptions & 57280031Sdim ref(); 58280031Sdim 59280031Sdim const lldb_private::TypeSummaryOptions & 60280031Sdim ref() const; 61280031Sdim 62280031Sdim void 63280031Sdim SetOptions (const lldb_private::TypeSummaryOptions *lldb_object_ptr); 64280031Sdim 65280031Sdim private: 66280031Sdim std::unique_ptr<lldb_private::TypeSummaryOptions> m_opaque_ap; 67280031Sdim }; 68254721Semaste 69254721Semaste class SBTypeSummary 70254721Semaste { 71254721Semaste public: 72254721Semaste 73254721Semaste SBTypeSummary(); 74254721Semaste 75254721Semaste static SBTypeSummary 76254721Semaste CreateWithSummaryString (const char* data, 77254721Semaste uint32_t options = 0); // see lldb::eTypeOption values 78254721Semaste 79254721Semaste static SBTypeSummary 80254721Semaste CreateWithFunctionName (const char* data, 81254721Semaste uint32_t options = 0); // see lldb::eTypeOption values 82254721Semaste 83254721Semaste static SBTypeSummary 84254721Semaste CreateWithScriptCode (const char* data, 85254721Semaste uint32_t options = 0); // see lldb::eTypeOption values 86254721Semaste 87254721Semaste SBTypeSummary (const lldb::SBTypeSummary &rhs); 88254721Semaste 89254721Semaste ~SBTypeSummary (); 90254721Semaste 91254721Semaste bool 92254721Semaste IsValid() const; 93254721Semaste 94254721Semaste bool 95254721Semaste IsFunctionCode(); 96254721Semaste 97254721Semaste bool 98254721Semaste IsFunctionName(); 99254721Semaste 100254721Semaste bool 101254721Semaste IsSummaryString(); 102254721Semaste 103254721Semaste const char* 104254721Semaste GetData (); 105254721Semaste 106254721Semaste void 107254721Semaste SetSummaryString (const char* data); 108254721Semaste 109254721Semaste void 110254721Semaste SetFunctionName (const char* data); 111254721Semaste 112254721Semaste void 113254721Semaste SetFunctionCode (const char* data); 114254721Semaste 115254721Semaste uint32_t 116254721Semaste GetOptions (); 117254721Semaste 118254721Semaste void 119254721Semaste SetOptions (uint32_t); 120254721Semaste 121254721Semaste bool 122254721Semaste GetDescription (lldb::SBStream &description, 123254721Semaste lldb::DescriptionLevel description_level); 124254721Semaste 125254721Semaste lldb::SBTypeSummary & 126254721Semaste operator = (const lldb::SBTypeSummary &rhs); 127254721Semaste 128254721Semaste bool 129254721Semaste IsEqualTo (lldb::SBTypeSummary &rhs); 130254721Semaste 131254721Semaste bool 132254721Semaste operator == (lldb::SBTypeSummary &rhs); 133254721Semaste 134254721Semaste bool 135254721Semaste operator != (lldb::SBTypeSummary &rhs); 136254721Semaste 137254721Semaste protected: 138254721Semaste friend class SBDebugger; 139254721Semaste friend class SBTypeCategory; 140254721Semaste friend class SBValue; 141254721Semaste 142254721Semaste lldb::TypeSummaryImplSP 143254721Semaste GetSP (); 144254721Semaste 145254721Semaste void 146254721Semaste SetSP (const lldb::TypeSummaryImplSP &typefilter_impl_sp); 147254721Semaste 148254721Semaste lldb::TypeSummaryImplSP m_opaque_sp; 149254721Semaste 150254721Semaste SBTypeSummary (const lldb::TypeSummaryImplSP &); 151254721Semaste 152254721Semaste bool 153254721Semaste CopyOnWrite_Impl(); 154254721Semaste 155254721Semaste bool 156254721Semaste ChangeSummaryType (bool want_script); 157254721Semaste 158254721Semaste }; 159254721Semaste 160254721Semaste 161254721Semaste} // namespace lldb 162254721Semaste 163254721Semaste#endif // LLDB_DISABLE_PYTHON 164254721Semaste 165254721Semaste#endif // LLDB_SBTypeSummary_h_ 166