--raw was not always doing the right thing w.r.t. one-lining children. This checkin fixes that

llvm-svn: 192116
This commit is contained in:
Enrico Granata 2013-10-07 17:59:03 +00:00
parent 88ff20ef2a
commit 41b1653350
2 changed files with 8 additions and 3 deletions

View File

@ -43,6 +43,7 @@ struct DumpValueObjectOptions
bool m_hide_root_type;
bool m_hide_name;
bool m_hide_value;
bool m_be_raw;
DumpValueObjectOptions() :
m_max_ptr_depth(0),
@ -61,7 +62,8 @@ struct DumpValueObjectOptions
m_root_valobj_name(),
m_hide_root_type(false), // provide a special compact display for "po"
m_hide_name(false), // provide a special compact display for "po"
m_hide_value(false) // provide a special compact display for "po"
m_hide_value(false), // provide a special compact display for "po"
m_be_raw(false)
{}
static const DumpValueObjectOptions
@ -89,7 +91,8 @@ struct DumpValueObjectOptions
m_root_valobj_name(rhs.m_root_valobj_name),
m_hide_root_type(rhs.m_hide_root_type),
m_hide_name(rhs.m_hide_name),
m_hide_value(rhs.m_hide_value)
m_hide_value(rhs.m_hide_value),
m_be_raw(rhs.m_be_raw)
{}
DumpValueObjectOptions&
@ -189,6 +192,7 @@ struct DumpValueObjectOptions
SetIgnoreCap(true);
SetHideName(false);
SetHideValue(false);
m_be_raw = true;
}
else
{
@ -197,6 +201,7 @@ struct DumpValueObjectOptions
SetIgnoreCap(false);
SetHideName(false);
SetHideValue(false);
m_be_raw = false;
}
return *this;
}

View File

@ -581,7 +581,7 @@ ValueObjectPrinter::PrintChildrenIfNeeded (bool value_printed,
uint32_t curr_ptr_depth = m_ptr_depth;
bool print_children = ShouldPrintChildren (is_failed_description,curr_ptr_depth);
bool print_oneline = (curr_ptr_depth > 0 || options.m_show_types) ? false : DataVisualization::ShouldPrintAsOneLiner(*m_valobj);
bool print_oneline = (curr_ptr_depth > 0 || options.m_show_types || options.m_be_raw) ? false : DataVisualization::ShouldPrintAsOneLiner(*m_valobj);
if (print_children)
{