diff options
Diffstat (limited to 'include/lldb/DataFormatters')
-rw-r--r-- | include/lldb/DataFormatters/CXXFormatterFunctions.h | 35 | ||||
-rw-r--r-- | include/lldb/DataFormatters/FormatManager.h | 4 | ||||
-rw-r--r-- | include/lldb/DataFormatters/TypeFormat.h | 27 | ||||
-rw-r--r-- | include/lldb/DataFormatters/TypeSummary.h | 33 | ||||
-rw-r--r-- | include/lldb/DataFormatters/TypeSynthetic.h | 30 | ||||
-rw-r--r-- | include/lldb/DataFormatters/TypeValidator.h | 27 | ||||
-rw-r--r-- | include/lldb/DataFormatters/ValueObjectPrinter.h | 5 | ||||
-rw-r--r-- | include/lldb/DataFormatters/VectorType.h | 0 |
8 files changed, 126 insertions, 35 deletions
diff --git a/include/lldb/DataFormatters/CXXFormatterFunctions.h b/include/lldb/DataFormatters/CXXFormatterFunctions.h index 53b7468bb13c..9b1a02ca0a5c 100644 --- a/include/lldb/DataFormatters/CXXFormatterFunctions.h +++ b/include/lldb/DataFormatters/CXXFormatterFunctions.h @@ -186,6 +186,9 @@ namespace lldb_private { extern template bool ObjCSELSummaryProvider<false> (ValueObject&, Stream&, const TypeSummaryOptions&); + bool + CMTimeSummaryProvider (ValueObject& valobj, Stream& stream, const TypeSummaryOptions& options); + SyntheticChildrenFrontEnd* NSArraySyntheticFrontEndCreator (CXXSyntheticChildren*, lldb::ValueObjectSP); SyntheticChildrenFrontEnd* NSDictionarySyntheticFrontEndCreator (CXXSyntheticChildren*, lldb::ValueObjectSP); @@ -229,37 +232,6 @@ namespace lldb_private { bool LibcxxContainerSummaryProvider (ValueObject& valobj, Stream& stream, const TypeSummaryOptions& options); - class LibstdcppVectorBoolSyntheticFrontEnd : public SyntheticChildrenFrontEnd - { - public: - LibstdcppVectorBoolSyntheticFrontEnd (lldb::ValueObjectSP valobj_sp); - - virtual size_t - CalculateNumChildren (); - - virtual lldb::ValueObjectSP - GetChildAtIndex (size_t idx); - - virtual bool - Update(); - - virtual bool - MightHaveChildren (); - - virtual size_t - GetIndexOfChildWithName (const ConstString &name); - - virtual - ~LibstdcppVectorBoolSyntheticFrontEnd (); - private: - ExecutionContextRef m_exe_ctx_ref; - uint64_t m_count; - lldb::addr_t m_base_data_address; - EvaluateExpressionOptions m_options; - }; - - SyntheticChildrenFrontEnd* LibstdcppVectorBoolSyntheticFrontEndCreator (CXXSyntheticChildren*, lldb::ValueObjectSP); - class LibstdcppMapIteratorSyntheticFrontEnd : public SyntheticChildrenFrontEnd { public: @@ -395,6 +367,7 @@ namespace lldb_private { SyntheticChildrenFrontEnd* LibcxxInitializerListSyntheticFrontEndCreator (CXXSyntheticChildren*, lldb::ValueObjectSP); + SyntheticChildrenFrontEnd* VectorTypeSyntheticFrontEndCreator (CXXSyntheticChildren*, lldb::ValueObjectSP); } // namespace formatters } // namespace lldb_private diff --git a/include/lldb/DataFormatters/FormatManager.h b/include/lldb/DataFormatters/FormatManager.h index 37dae6536761..a1f4b59fb344 100644 --- a/include/lldb/DataFormatters/FormatManager.h +++ b/include/lldb/DataFormatters/FormatManager.h @@ -287,6 +287,7 @@ private: ConstString m_coreservices_category_name; ConstString m_vectortypes_category_name; ConstString m_appkit_category_name; + ConstString m_coremedia_category_name; HardcodedFormatterFinders<TypeFormatImpl> m_hardcoded_formats; HardcodedFormatterFinders<TypeSummaryImpl> m_hardcoded_summaries; @@ -326,6 +327,9 @@ private: void LoadObjCFormatters (); + + void + LoadCoreMediaFormatters (); void LoadHardcodedFormatters (); diff --git a/include/lldb/DataFormatters/TypeFormat.h b/include/lldb/DataFormatters/TypeFormat.h index 1090d7843e53..8aa7c60b4938 100644 --- a/include/lldb/DataFormatters/TypeFormat.h +++ b/include/lldb/DataFormatters/TypeFormat.h @@ -115,6 +115,22 @@ namespace lldb_private { return *this; } + bool + GetNonCacheable () const + { + return (m_flags & lldb::eTypeOptionNonCacheable) == lldb::eTypeOptionNonCacheable; + } + + Flags& + SetNonCacheable (bool value = true) + { + if (value) + m_flags |= lldb::eTypeOptionNonCacheable; + else + m_flags &= ~lldb::eTypeOptionNonCacheable; + return *this; + } + uint32_t GetValue () { @@ -153,6 +169,11 @@ namespace lldb_private { { return m_flags.GetSkipReferences(); } + bool + NonCacheable () const + { + return m_flags.GetNonCacheable(); + } void SetCascades (bool value) @@ -171,6 +192,12 @@ namespace lldb_private { { m_flags.SetSkipReferences(value); } + + void + SetNonCacheable (bool value) + { + m_flags.SetNonCacheable(value); + } uint32_t GetOptions () diff --git a/include/lldb/DataFormatters/TypeSummary.h b/include/lldb/DataFormatters/TypeSummary.h index 8b90dd0c4895..c2838eac27f1 100644 --- a/include/lldb/DataFormatters/TypeSummary.h +++ b/include/lldb/DataFormatters/TypeSummary.h @@ -25,8 +25,8 @@ #include "lldb/Core/Error.h" #include "lldb/Core/FormatEntity.h" +#include "lldb/Core/StructuredData.h" #include "lldb/Core/ValueObject.h" -#include "lldb/Interpreter/ScriptInterpreterPython.h" #include "lldb/Symbol/Type.h" namespace lldb_private { @@ -211,6 +211,22 @@ namespace lldb_private { return *this; } + bool + GetNonCacheable () const + { + return (m_flags & lldb::eTypeOptionNonCacheable) == lldb::eTypeOptionNonCacheable; + } + + Flags& + SetNonCacheable (bool value = true) + { + if (value) + m_flags |= lldb::eTypeOptionNonCacheable; + else + m_flags &= ~lldb::eTypeOptionNonCacheable; + return *this; + } + uint32_t GetValue () { @@ -252,6 +268,11 @@ namespace lldb_private { { return m_flags.GetSkipReferences(); } + bool + NonCacheable () const + { + return m_flags.GetNonCacheable(); + } virtual bool DoesPrintChildren (ValueObject* valobj) const @@ -319,6 +340,12 @@ namespace lldb_private { m_flags.SetHideItemNames(value); } + virtual void + SetNonCacheable (bool value) + { + m_flags.SetNonCacheable(value); + } + uint32_t GetOptions () { @@ -501,8 +528,8 @@ namespace lldb_private { { std::string m_function_name; std::string m_python_script; - lldb::ScriptInterpreterObjectSP m_script_function_sp; - + StructuredData::ObjectSP m_script_function_sp; + ScriptSummaryFormat(const TypeSummaryImpl::Flags& flags, const char *function_name, const char* python_script = NULL); diff --git a/include/lldb/DataFormatters/TypeSynthetic.h b/include/lldb/DataFormatters/TypeSynthetic.h index 675c43b1f311..ff6691c9a1b8 100644 --- a/include/lldb/DataFormatters/TypeSynthetic.h +++ b/include/lldb/DataFormatters/TypeSynthetic.h @@ -23,6 +23,7 @@ #include "lldb/lldb-public.h" #include "lldb/lldb-enumerations.h" +#include "lldb/Core/StructuredData.h" #include "lldb/Core/ValueObject.h" namespace lldb_private { @@ -235,6 +236,22 @@ namespace lldb_private { return *this; } + bool + GetNonCacheable () const + { + return (m_flags & lldb::eTypeOptionNonCacheable) == lldb::eTypeOptionNonCacheable; + } + + Flags& + SetNonCacheable (bool value = true) + { + if (value) + m_flags |= lldb::eTypeOptionNonCacheable; + else + m_flags &= ~lldb::eTypeOptionNonCacheable; + return *this; + } + uint32_t GetValue () { @@ -276,6 +293,11 @@ namespace lldb_private { { return m_flags.GetSkipReferences(); } + bool + NonCacheable () const + { + return m_flags.GetNonCacheable(); + } void SetCascades (bool value) @@ -295,6 +317,12 @@ namespace lldb_private { m_flags.SetSkipReferences(value); } + void + SetNonCacheable (bool value) + { + m_flags.SetNonCacheable(value); + } + uint32_t GetOptions () { @@ -551,7 +579,7 @@ namespace lldb_private { { private: std::string m_python_class; - lldb::ScriptInterpreterObjectSP m_wrapper_sp; + StructuredData::ObjectSP m_wrapper_sp; ScriptInterpreter *m_interpreter; public: diff --git a/include/lldb/DataFormatters/TypeValidator.h b/include/lldb/DataFormatters/TypeValidator.h index b501e47943fa..d06fac01f824 100644 --- a/include/lldb/DataFormatters/TypeValidator.h +++ b/include/lldb/DataFormatters/TypeValidator.h @@ -115,6 +115,22 @@ public: return *this; } + bool + GetNonCacheable () const + { + return (m_flags & lldb::eTypeOptionNonCacheable) == lldb::eTypeOptionNonCacheable; + } + + Flags& + SetNonCacheable (bool value = true) + { + if (value) + m_flags |= lldb::eTypeOptionNonCacheable; + else + m_flags &= ~lldb::eTypeOptionNonCacheable; + return *this; + } + uint32_t GetValue () { @@ -153,6 +169,11 @@ public: { return m_flags.GetSkipReferences(); } + bool + NonCacheable () const + { + return m_flags.GetNonCacheable(); + } void SetCascades (bool value) @@ -172,6 +193,12 @@ public: m_flags.SetSkipReferences(value); } + void + SetNonCacheable (bool value) + { + m_flags.SetNonCacheable(value); + } + uint32_t GetOptions () { diff --git a/include/lldb/DataFormatters/ValueObjectPrinter.h b/include/lldb/DataFormatters/ValueObjectPrinter.h index 235d5389ee75..dc05fd482676 100644 --- a/include/lldb/DataFormatters/ValueObjectPrinter.h +++ b/include/lldb/DataFormatters/ValueObjectPrinter.h @@ -75,6 +75,8 @@ struct DumpValueObjectOptions DumpValueObjectOptions (const DumpValueObjectOptions& rhs) = default; + DumpValueObjectOptions (ValueObject& valobj); + DumpValueObjectOptions& SetMaximumPointerDepth(uint32_t depth = 0) { @@ -246,6 +248,9 @@ struct DumpValueObjectOptions class ValueObjectPrinter { public: + + ValueObjectPrinter (ValueObject* valobj, + Stream* s); ValueObjectPrinter (ValueObject* valobj, Stream* s, diff --git a/include/lldb/DataFormatters/VectorType.h b/include/lldb/DataFormatters/VectorType.h new file mode 100644 index 000000000000..e69de29bb2d1 --- /dev/null +++ b/include/lldb/DataFormatters/VectorType.h |