diff options
Diffstat (limited to 'source/DataFormatters/TypeFormat.cpp')
-rw-r--r-- | source/DataFormatters/TypeFormat.cpp | 12 |
1 files changed, 6 insertions, 6 deletions
diff --git a/source/DataFormatters/TypeFormat.cpp b/source/DataFormatters/TypeFormat.cpp index 0c62daf87bbc..f07d8127d2b9 100644 --- a/source/DataFormatters/TypeFormat.cpp +++ b/source/DataFormatters/TypeFormat.cpp @@ -59,9 +59,9 @@ TypeFormatImpl_Format::FormatObject (ValueObject *valobj, { if (!valobj) return false; - if (valobj->GetClangType().IsAggregateType () == false) + if (valobj->CanProvideValue()) { - const Value& value(valobj->GetValue()); + Value& value(valobj->GetValue()); const Value::ContextType context_type = value.GetContextType(); ExecutionContext exe_ctx (valobj->GetExecutionContextRef()); DataExtractor data; @@ -92,14 +92,14 @@ TypeFormatImpl_Format::FormatObject (ValueObject *valobj, } else { - ClangASTType clang_type = valobj->GetClangType (); + ClangASTType clang_type = value.GetClangType (); if (clang_type) { // put custom bytes to display in the DataExtractor to override the default value logic if (GetFormat() == eFormatCString) { lldb_private::Flags type_flags(clang_type.GetTypeInfo(NULL)); // disambiguate w.r.t. TypeFormatImpl::Flags - if (type_flags.Test(ClangASTType::eTypeIsPointer) && !type_flags.Test(ClangASTType::eTypeIsObjC)) + if (type_flags.Test(eTypeIsPointer) && !type_flags.Test(eTypeIsObjC)) { // if we are dumping a pointer as a c-string, get the pointee data as a string TargetSP target_sp(valobj->GetTargetSP()); @@ -180,7 +180,7 @@ TypeFormatImpl_EnumType::FormatObject (ValueObject *valobj, dest.clear(); if (!valobj) return false; - if (valobj->GetClangType().IsAggregateType ()) + if (!valobj->CanProvideValue()) return false; ProcessSP process_sp; TargetSP target_sp; @@ -209,7 +209,7 @@ TypeFormatImpl_EnumType::FormatObject (ValueObject *valobj, { if (!type_sp) continue; - if ( (type_sp->GetClangForwardType().GetTypeInfo() & ClangASTType::eTypeIsEnumeration) == ClangASTType::eTypeIsEnumeration) + if ( (type_sp->GetClangForwardType().GetTypeInfo() & eTypeIsEnumeration) == eTypeIsEnumeration) { valobj_enum_type = type_sp->GetClangFullType(); m_types.emplace(valobj_key,valobj_enum_type); |