diff options
-rw-r--r-- | lldb/source/Commands/CommandObjectExpression.cpp | 33 | ||||
-rw-r--r-- | lldb/source/Core/ValueObject.cpp | 3 |
2 files changed, 19 insertions, 17 deletions
diff --git a/lldb/source/Commands/CommandObjectExpression.cpp b/lldb/source/Commands/CommandObjectExpression.cpp index 357d8f7526a..ccb2f8e61b8 100644 --- a/lldb/source/Commands/CommandObjectExpression.cpp +++ b/lldb/source/Commands/CommandObjectExpression.cpp @@ -387,22 +387,23 @@ CommandObjectExpression::EvaluateExpression result_valobj_sp->SetFormat (format); ValueObject::DumpValueObjectOptions options; - options.SetMaximumPointerDepth(m_varobj_options.ptr_depth) - .SetMaximumDepth(m_varobj_options.max_depth) - .SetShowTypes(m_varobj_options.show_types) - .SetShowLocation(m_varobj_options.show_location) - .SetUseObjectiveC(m_varobj_options.use_objc) - .SetUseDynamicType(m_varobj_options.use_dynamic) - .SetUseSyntheticValue(m_varobj_options.use_synth) - .SetFlatOutput(m_varobj_options.flat_output) - .SetOmitSummaryDepth(m_varobj_options.no_summary_depth) - .SetIgnoreCap(m_varobj_options.ignore_cap) - .SetFormat(format) - .SetSummary() - .SetShowSummary(!m_varobj_options.use_objc) - .SetHideRootType(m_varobj_options.use_objc) - .SetHideName(m_varobj_options.use_objc) - .SetHideValue(m_varobj_options.use_objc); + options.SetMaximumPointerDepth(m_varobj_options.ptr_depth); + if (m_varobj_options.use_objc) + options.SetShowSummary(false); + else + options.SetOmitSummaryDepth(m_varobj_options.no_summary_depth); + options.SetMaximumDepth(m_varobj_options.max_depth) + .SetShowTypes(m_varobj_options.show_types) + .SetShowLocation(m_varobj_options.show_location) + .SetUseObjectiveC(m_varobj_options.use_objc) + .SetUseDynamicType(m_varobj_options.use_dynamic) + .SetUseSyntheticValue(m_varobj_options.use_synth) + .SetFlatOutput(m_varobj_options.flat_output) + .SetIgnoreCap(m_varobj_options.ignore_cap) + .SetFormat(format) + .SetHideRootType(m_varobj_options.use_objc) + .SetHideName(m_varobj_options.use_objc) + .SetHideValue(m_varobj_options.use_objc); if (m_varobj_options.be_raw) options.SetRawDisplay(true); diff --git a/lldb/source/Core/ValueObject.cpp b/lldb/source/Core/ValueObject.cpp index 4e5e921f287..783fa129163 100644 --- a/lldb/source/Core/ValueObject.cpp +++ b/lldb/source/Core/ValueObject.cpp @@ -3396,7 +3396,8 @@ DumpValueObject_Impl (Stream &s, // Make sure we have a value and make sure the summary didn't // specify that the value should not be printed - and do not print // the value if this thing is nil - if (!is_nil && !value_str.empty() && (entry == NULL || entry->DoesPrintValue() || sum_cstr == NULL) && !options.m_hide_value) + // (but show the value if the user passes a format explicitly) + if (!is_nil && !value_str.empty() && (entry == NULL || (entry->DoesPrintValue() || options.m_format != eFormatDefault) || sum_cstr == NULL) && !options.m_hide_value) s.Printf(" %s", value_str.c_str()); if (sum_cstr) |