aboutsummaryrefslogtreecommitdiff
path: root/include/lldb/DataFormatters
diff options
context:
space:
mode:
Diffstat (limited to 'include/lldb/DataFormatters')
-rw-r--r--include/lldb/DataFormatters/CXXFormatterFunctions.h35
-rw-r--r--include/lldb/DataFormatters/FormatManager.h4
-rw-r--r--include/lldb/DataFormatters/TypeFormat.h27
-rw-r--r--include/lldb/DataFormatters/TypeSummary.h33
-rw-r--r--include/lldb/DataFormatters/TypeSynthetic.h30
-rw-r--r--include/lldb/DataFormatters/TypeValidator.h27
-rw-r--r--include/lldb/DataFormatters/ValueObjectPrinter.h5
-rw-r--r--include/lldb/DataFormatters/VectorType.h0
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