diff options
author | Enrico Granata <egranata@apple.com> | 2013-03-25 19:46:48 +0000 |
---|---|---|
committer | Enrico Granata <egranata@apple.com> | 2013-03-25 19:46:48 +0000 |
commit | c2a58d73ce3aa7a678b9a00b086944c111aea02a (patch) | |
tree | 67a1edf2e9051c0eaa07680bee49484b399b6b44 /lldb/source/Commands/CommandObjectExpression.cpp | |
parent | 92bd7c0337b4e63ea823573f3ce92eb6afbb082c (diff) | |
download | bcm5719-llvm-c2a58d73ce3aa7a678b9a00b086944c111aea02a.tar.gz bcm5719-llvm-c2a58d73ce3aa7a678b9a00b086944c111aea02a.zip |
<rdar://problem/13365424>
Ensure that option -Y also works for expression as it does for frame variable
Also, if the user passes an explicit format specifier when printing a variable, override the summary's decision to hide the value.
This is required for scenarios like this to work:
(lldb) p/x c
(Class) $0 = 0x0000000100adb7f8 NSObject
Previously this would say:
(lldb) p/x c
(Class) $0 = NSObject
ignoring the explicit format specifier
llvm-svn: 177893
Diffstat (limited to 'lldb/source/Commands/CommandObjectExpression.cpp')
-rw-r--r-- | lldb/source/Commands/CommandObjectExpression.cpp | 33 |
1 files changed, 17 insertions, 16 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); |