summaryrefslogtreecommitdiffstats
path: root/lldb/source/Commands/CommandObjectExpression.cpp
diff options
context:
space:
mode:
authorEnrico Granata <egranata@apple.com>2013-03-25 19:46:48 +0000
committerEnrico Granata <egranata@apple.com>2013-03-25 19:46:48 +0000
commitc2a58d73ce3aa7a678b9a00b086944c111aea02a (patch)
tree67a1edf2e9051c0eaa07680bee49484b399b6b44 /lldb/source/Commands/CommandObjectExpression.cpp
parent92bd7c0337b4e63ea823573f3ce92eb6afbb082c (diff)
downloadbcm5719-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.cpp33
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);
OpenPOWER on IntegriCloud