aboutsummaryrefslogtreecommitdiff
path: root/source/DataFormatters/TypeSummary.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'source/DataFormatters/TypeSummary.cpp')
-rw-r--r--source/DataFormatters/TypeSummary.cpp56
1 files changed, 52 insertions, 4 deletions
diff --git a/source/DataFormatters/TypeSummary.cpp b/source/DataFormatters/TypeSummary.cpp
index e5d80174c3cc..ff089af58cb7 100644
--- a/source/DataFormatters/TypeSummary.cpp
+++ b/source/DataFormatters/TypeSummary.cpp
@@ -34,6 +34,50 @@
using namespace lldb;
using namespace lldb_private;
+TypeSummaryOptions::TypeSummaryOptions () :
+ m_lang(eLanguageTypeUnknown),
+ m_capping(eTypeSummaryCapped)
+{}
+
+TypeSummaryOptions::TypeSummaryOptions (const TypeSummaryOptions& rhs) :
+ m_lang(rhs.m_lang),
+ m_capping(rhs.m_capping)
+{}
+
+TypeSummaryOptions&
+TypeSummaryOptions::operator = (const TypeSummaryOptions& rhs)
+{
+ m_lang = rhs.m_lang;
+ m_capping = rhs.m_capping;
+ return *this;
+}
+
+lldb::LanguageType
+TypeSummaryOptions::GetLanguage () const
+{
+ return m_lang;
+}
+
+lldb::TypeSummaryCapping
+TypeSummaryOptions::GetCapping () const
+{
+ return m_capping;
+}
+
+TypeSummaryOptions&
+TypeSummaryOptions::SetLanguage (lldb::LanguageType lang)
+{
+ m_lang = lang;
+ return *this;
+}
+
+TypeSummaryOptions&
+TypeSummaryOptions::SetCapping (lldb::TypeSummaryCapping cap)
+{
+ m_capping = cap;
+ return *this;
+}
+
TypeSummaryImpl::TypeSummaryImpl (const TypeSummaryImpl::Flags& flags) :
m_flags(flags)
{
@@ -51,7 +95,8 @@ m_format()
bool
StringSummaryFormat::FormatObject (ValueObject *valobj,
- std::string& retval)
+ std::string& retval,
+ const TypeSummaryOptions& options)
{
if (!valobj)
{
@@ -115,11 +160,12 @@ m_description(description ? description : "")
bool
CXXFunctionSummaryFormat::FormatObject (ValueObject *valobj,
- std::string& dest)
+ std::string& dest,
+ const TypeSummaryOptions& options)
{
dest.clear();
StreamString stream;
- if (!m_impl || m_impl(*valobj,stream) == false)
+ if (!m_impl || m_impl(*valobj,stream,options) == false)
return false;
dest.assign(stream.GetData());
return true;
@@ -160,7 +206,8 @@ m_script_function_sp()
bool
ScriptSummaryFormat::FormatObject (ValueObject *valobj,
- std::string& retval)
+ std::string& retval,
+ const TypeSummaryOptions& options)
{
Timer scoped_timer (__PRETTY_FUNCTION__, __PRETTY_FUNCTION__);
@@ -190,6 +237,7 @@ ScriptSummaryFormat::FormatObject (ValueObject *valobj,
return script_interpreter->GetScriptedSummary(m_function_name.c_str(),
valobj->GetSP(),
m_script_function_sp,
+ options,
retval);
}