diff options
-rw-r--r-- | lldb/include/lldb/DataFormatters/TypeSummary.h | 3 | ||||
-rw-r--r-- | lldb/source/API/SBTypeSummary.cpp | 19 |
2 files changed, 19 insertions, 3 deletions
diff --git a/lldb/include/lldb/DataFormatters/TypeSummary.h b/lldb/include/lldb/DataFormatters/TypeSummary.h index 620410bf082..3ee93607637 100644 --- a/lldb/include/lldb/DataFormatters/TypeSummary.h +++ b/lldb/include/lldb/DataFormatters/TypeSummary.h @@ -63,7 +63,8 @@ namespace lldb_private { { eSummaryString, eScript, - eCallback + eCallback, + eInternal }; virtual diff --git a/lldb/source/API/SBTypeSummary.cpp b/lldb/source/API/SBTypeSummary.cpp index 7c06bdafbf8..2985b765954 100644 --- a/lldb/source/API/SBTypeSummary.cpp +++ b/lldb/source/API/SBTypeSummary.cpp @@ -328,8 +328,21 @@ SBTypeSummary::operator == (lldb::SBTypeSummary &rhs) bool SBTypeSummary::IsEqualTo (lldb::SBTypeSummary &rhs) { - if (IsValid() == false) - return !rhs.IsValid(); + if (IsValid()) + { + // valid and invalid are different + if (!rhs.IsValid()) + return false; + } + else + { + // invalid and valid are different + if (rhs.IsValid()) + return false; + else + // both invalid are the same + return true; + } if (m_opaque_sp->GetKind() != rhs.m_opaque_sp->GetKind()) return false; @@ -348,6 +361,8 @@ SBTypeSummary::IsEqualTo (lldb::SBTypeSummary &rhs) if (IsSummaryString() != rhs.IsSummaryString()) return false; return GetOptions() == rhs.GetOptions(); + case TypeSummaryImpl::Kind::eInternal: + return (m_opaque_sp.get() == rhs.m_opaque_sp.get()); } return false; |