diff options
author | Enrico Granata <egranata@apple.com> | 2013-10-31 22:42:00 +0000 |
---|---|---|
committer | Enrico Granata <egranata@apple.com> | 2013-10-31 22:42:00 +0000 |
commit | fcf0c4e31a0692199cc47751939d813940c1cbbb (patch) | |
tree | 15f92f0761864401ad7eafd9f717c44d881b65af /lldb/source/Core/ValueObjectDynamicValue.cpp | |
parent | 74329d6cff36eaf0e2b527620d127f225a10d528 (diff) | |
download | bcm5719-llvm-fcf0c4e31a0692199cc47751939d813940c1cbbb.tar.gz bcm5719-llvm-fcf0c4e31a0692199cc47751939d813940c1cbbb.zip |
Further fixes to the dynamic type system prompted by ObjCDataFormatterTestCase.test_nserror_with_dsym_and_run_command
llvm-svn: 193818
Diffstat (limited to 'lldb/source/Core/ValueObjectDynamicValue.cpp')
-rw-r--r-- | lldb/source/Core/ValueObjectDynamicValue.cpp | 10 |
1 files changed, 6 insertions, 4 deletions
diff --git a/lldb/source/Core/ValueObjectDynamicValue.cpp b/lldb/source/Core/ValueObjectDynamicValue.cpp index ff8a0edb801..47e781e7115 100644 --- a/lldb/source/Core/ValueObjectDynamicValue.cpp +++ b/lldb/source/Core/ValueObjectDynamicValue.cpp @@ -69,10 +69,10 @@ ValueObjectDynamicValue::GetTypeName() const bool success = UpdateValueIfNeeded(false); if (success) { - if (m_dynamic_type_info.HasType()) - return GetClangType().GetConstTypeName(); if (m_dynamic_type_info.HasName()) return m_dynamic_type_info.GetName(); + if (m_dynamic_type_info.HasType()) + return GetClangType().GetConstTypeName(); } return m_parent->GetTypeName(); } @@ -94,10 +94,10 @@ ValueObjectDynamicValue::GetQualifiedTypeName() const bool success = UpdateValueIfNeeded(false); if (success) { - if (m_dynamic_type_info.HasType()) - return GetClangType().GetConstQualifiedTypeName (); if (m_dynamic_type_info.HasName()) return m_dynamic_type_info.GetName(); + if (m_dynamic_type_info.HasType()) + return GetClangType().GetConstQualifiedTypeName (); } return m_parent->GetTypeName(); } @@ -155,6 +155,8 @@ FixupTypeAndOrName (const TypeAndOrName& type_andor_name, corrected_name.append(" *"); else if (parent.IsPointerOrReferenceType()) corrected_name.append(" &"); + // the parent type should be a correctly pointer'ed or referenc'ed type + ret.SetClangASTType(parent.GetClangType()); ret.SetName(corrected_name.c_str()); } return ret; |