summaryrefslogtreecommitdiffstats
path: root/lldb/source/Core/ValueObjectDynamicValue.cpp
diff options
context:
space:
mode:
authorEnrico Granata <egranata@apple.com>2013-10-31 22:42:00 +0000
committerEnrico Granata <egranata@apple.com>2013-10-31 22:42:00 +0000
commitfcf0c4e31a0692199cc47751939d813940c1cbbb (patch)
tree15f92f0761864401ad7eafd9f717c44d881b65af /lldb/source/Core/ValueObjectDynamicValue.cpp
parent74329d6cff36eaf0e2b527620d127f225a10d528 (diff)
downloadbcm5719-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.cpp10
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;
OpenPOWER on IntegriCloud