diff options
Diffstat (limited to 'include/lldb/API/SBTypeSummary.h')
-rw-r--r-- | include/lldb/API/SBTypeSummary.h | 274 |
1 files changed, 119 insertions, 155 deletions
diff --git a/include/lldb/API/SBTypeSummary.h b/include/lldb/API/SBTypeSummary.h index f4c666180085..c9ccdff834ce 100644 --- a/include/lldb/API/SBTypeSummary.h +++ b/include/lldb/API/SBTypeSummary.h @@ -1,4 +1,5 @@ -//===-- SBTypeSummary.h -------------------------------------------*- C++ -*-===// +//===-- SBTypeSummary.h -------------------------------------------*- C++ +//-*-===// // // The LLVM Compiler Infrastructure // @@ -13,160 +14,123 @@ #include "lldb/API/SBDefines.h" namespace lldb { - class LLDB_API SBTypeSummaryOptions - { - public: - SBTypeSummaryOptions(); - - SBTypeSummaryOptions (const lldb::SBTypeSummaryOptions &rhs); - - SBTypeSummaryOptions (const lldb_private::TypeSummaryOptions *lldb_object_ptr); - - ~SBTypeSummaryOptions (); - - bool - IsValid (); - - lldb::LanguageType - GetLanguage (); - - lldb::TypeSummaryCapping - GetCapping (); - - void - SetLanguage (lldb::LanguageType); - - void - SetCapping (lldb::TypeSummaryCapping); - - protected: - friend class SBValue; - - lldb_private::TypeSummaryOptions * - operator->(); - - const lldb_private::TypeSummaryOptions * - operator->() const; - - lldb_private::TypeSummaryOptions * - get (); - - lldb_private::TypeSummaryOptions & - ref(); - - const lldb_private::TypeSummaryOptions & - ref() const; - - void - SetOptions (const lldb_private::TypeSummaryOptions *lldb_object_ptr); - - private: - std::unique_ptr<lldb_private::TypeSummaryOptions> m_opaque_ap; - }; - - class SBTypeSummary - { - public: - - SBTypeSummary(); - - // Native function summary formatter callback - typedef bool (*FormatCallback) (SBValue, SBTypeSummaryOptions, SBStream&); - - static SBTypeSummary - CreateWithSummaryString (const char* data, - uint32_t options = 0); // see lldb::eTypeOption values - - static SBTypeSummary - CreateWithFunctionName (const char* data, - uint32_t options = 0); // see lldb::eTypeOption values - - static SBTypeSummary - CreateWithScriptCode (const char* data, - uint32_t options = 0); // see lldb::eTypeOption values - - static SBTypeSummary - CreateWithCallback (FormatCallback cb, - uint32_t options = 0, - const char* description = nullptr); - - SBTypeSummary (const lldb::SBTypeSummary &rhs); - - ~SBTypeSummary (); - - bool - IsValid() const; - - bool - IsFunctionCode(); - - bool - IsFunctionName(); - - bool - IsSummaryString(); - - const char* - GetData (); - - void - SetSummaryString (const char* data); - - void - SetFunctionName (const char* data); - - void - SetFunctionCode (const char* data); - - uint32_t - GetOptions (); - - void - SetOptions (uint32_t); - - bool - GetDescription (lldb::SBStream &description, - lldb::DescriptionLevel description_level); - - lldb::SBTypeSummary & - operator = (const lldb::SBTypeSummary &rhs); - - bool - DoesPrintValue (lldb::SBValue value); - - bool - IsEqualTo (lldb::SBTypeSummary &rhs); - - bool - operator == (lldb::SBTypeSummary &rhs); - - bool - operator != (lldb::SBTypeSummary &rhs); - - protected: - friend class SBDebugger; - friend class SBTypeCategory; - friend class SBValue; - - lldb::TypeSummaryImplSP - GetSP (); - - void - SetSP (const lldb::TypeSummaryImplSP &typefilter_impl_sp); - - lldb::TypeSummaryImplSP m_opaque_sp; - - SBTypeSummary (const lldb::TypeSummaryImplSP &); - - bool - CopyOnWrite_Impl(); - - bool - ChangeSummaryType (bool want_script); - - }; - - +class LLDB_API SBTypeSummaryOptions { +public: + SBTypeSummaryOptions(); + + SBTypeSummaryOptions(const lldb::SBTypeSummaryOptions &rhs); + + SBTypeSummaryOptions(const lldb_private::TypeSummaryOptions *lldb_object_ptr); + + ~SBTypeSummaryOptions(); + + bool IsValid(); + + lldb::LanguageType GetLanguage(); + + lldb::TypeSummaryCapping GetCapping(); + + void SetLanguage(lldb::LanguageType); + + void SetCapping(lldb::TypeSummaryCapping); + +protected: + friend class SBValue; + + lldb_private::TypeSummaryOptions *operator->(); + + const lldb_private::TypeSummaryOptions *operator->() const; + + lldb_private::TypeSummaryOptions *get(); + + lldb_private::TypeSummaryOptions &ref(); + + const lldb_private::TypeSummaryOptions &ref() const; + + void SetOptions(const lldb_private::TypeSummaryOptions *lldb_object_ptr); + +private: + std::unique_ptr<lldb_private::TypeSummaryOptions> m_opaque_ap; +}; + +class SBTypeSummary { +public: + SBTypeSummary(); + + // Native function summary formatter callback + typedef bool (*FormatCallback)(SBValue, SBTypeSummaryOptions, SBStream &); + + static SBTypeSummary + CreateWithSummaryString(const char *data, + uint32_t options = 0); // see lldb::eTypeOption values + + static SBTypeSummary + CreateWithFunctionName(const char *data, + uint32_t options = 0); // see lldb::eTypeOption values + + static SBTypeSummary + CreateWithScriptCode(const char *data, + uint32_t options = 0); // see lldb::eTypeOption values + + static SBTypeSummary CreateWithCallback(FormatCallback cb, + uint32_t options = 0, + const char *description = nullptr); + + SBTypeSummary(const lldb::SBTypeSummary &rhs); + + ~SBTypeSummary(); + + bool IsValid() const; + + bool IsFunctionCode(); + + bool IsFunctionName(); + + bool IsSummaryString(); + + const char *GetData(); + + void SetSummaryString(const char *data); + + void SetFunctionName(const char *data); + + void SetFunctionCode(const char *data); + + uint32_t GetOptions(); + + void SetOptions(uint32_t); + + bool GetDescription(lldb::SBStream &description, + lldb::DescriptionLevel description_level); + + lldb::SBTypeSummary &operator=(const lldb::SBTypeSummary &rhs); + + bool DoesPrintValue(lldb::SBValue value); + + bool IsEqualTo(lldb::SBTypeSummary &rhs); + + bool operator==(lldb::SBTypeSummary &rhs); + + bool operator!=(lldb::SBTypeSummary &rhs); + +protected: + friend class SBDebugger; + friend class SBTypeCategory; + friend class SBValue; + + lldb::TypeSummaryImplSP GetSP(); + + void SetSP(const lldb::TypeSummaryImplSP &typefilter_impl_sp); + + lldb::TypeSummaryImplSP m_opaque_sp; + + SBTypeSummary(const lldb::TypeSummaryImplSP &); + + bool CopyOnWrite_Impl(); + + bool ChangeSummaryType(bool want_script); +}; + } // namespace lldb #endif // LLDB_SBTypeSummary_h_ |