[Lldb-commits] [lldb] r251642 - Add an 'internal' kind of summary to support one-off subclasses of TypeSummaryImpl

Enrico Granata via lldb-commits lldb-commits at lists.llvm.org
Thu Oct 29 11:58:13 PDT 2015


Author: enrico
Date: Thu Oct 29 13:58:13 2015
New Revision: 251642

URL: http://llvm.org/viewvc/llvm-project?rev=251642&view=rev
Log:
Add an 'internal' kind of summary to support one-off subclasses of TypeSummaryImpl

Modified:
    lldb/trunk/include/lldb/DataFormatters/TypeSummary.h
    lldb/trunk/source/API/SBTypeSummary.cpp

Modified: lldb/trunk/include/lldb/DataFormatters/TypeSummary.h
URL: http://llvm.org/viewvc/llvm-project/lldb/trunk/include/lldb/DataFormatters/TypeSummary.h?rev=251642&r1=251641&r2=251642&view=diff
==============================================================================
--- lldb/trunk/include/lldb/DataFormatters/TypeSummary.h (original)
+++ lldb/trunk/include/lldb/DataFormatters/TypeSummary.h Thu Oct 29 13:58:13 2015
@@ -63,7 +63,8 @@ namespace lldb_private {
         {
             eSummaryString,
             eScript,
-            eCallback
+            eCallback,
+            eInternal
         };
 
         virtual

Modified: lldb/trunk/source/API/SBTypeSummary.cpp
URL: http://llvm.org/viewvc/llvm-project/lldb/trunk/source/API/SBTypeSummary.cpp?rev=251642&r1=251641&r2=251642&view=diff
==============================================================================
--- lldb/trunk/source/API/SBTypeSummary.cpp (original)
+++ lldb/trunk/source/API/SBTypeSummary.cpp Thu Oct 29 13:58:13 2015
@@ -328,8 +328,21 @@ SBTypeSummary::operator == (lldb::SBType
 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::SBTypeSu
             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;




More information about the lldb-commits mailing list