diff options
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; |