Author: mps
Date: Thu Jan  3 15:24:39 2019
New Revision: 350371

URL: http://llvm.org/viewvc/llvm-project?rev=350371&view=rev
Log:
Fix MSVC visualizations for ActionResult and OpaquePtr

Mainly just fixing buggy code. Also removed unnecessary visualizers
for specializations of OpaquePtr


Modified:
    cfe/trunk/utils/ClangVisualizers/clang.natvis

Modified: cfe/trunk/utils/ClangVisualizers/clang.natvis
URL: 
http://llvm.org/viewvc/llvm-project/cfe/trunk/utils/ClangVisualizers/clang.natvis?rev=350371&r1=350370&r2=350371&view=diff
==============================================================================
--- cfe/trunk/utils/ClangVisualizers/clang.natvis (original)
+++ cfe/trunk/utils/ClangVisualizers/clang.natvis Thu Jan  3 15:24:39 2019
@@ -492,18 +492,6 @@ For later versions of Visual Studio, no
       <ExpandedItem>*(clang::Type *)this, view(cmn)</ExpandedItem>
     </Expand>
   </Type>
-  <Type Name="clang::OpaquePtr&lt;clang::QualType&gt;">
-    <DisplayString>{*(clang::QualType *)this}</DisplayString>
-    <Expand>
-      <Item Name="Ptr">*(clang::QualType *)this</Item>
-    </Expand>
-  </Type>
-  <Type Name="clang::UnionOpaquePtr&lt;clang::QualType&gt;">
-    <DisplayString>{*(clang::QualType *)this}</DisplayString>
-    <Expand>
-      <Item Name="Ptr">*(clang::QualType *)this</Item>
-    </Expand>
-  </Type>
   <Type Name="clang::OpaquePtr&lt;*&gt;">
     <DisplayString>{($T1 *)Ptr}</DisplayString>
     <Expand>
@@ -568,30 +556,18 @@ For later versions of Visual Studio, no
     <DisplayString Condition="ResultKind == 
clang::LookupResult::Ambiguous">{Ambiguity,en}: {Decls}</DisplayString>
     <DisplayString>{ResultKind,en}: {Decls}</DisplayString>
   </Type>
-  <Type Name="clang::ActionResult&lt;*&gt;" IncludeView="packedValidity">
-    <DisplayString Condition="PtrWithInvalid&amp;1">Invalid</DisplayString>
-    <DisplayString Condition="!(PtrWithInvalid&amp;1)">Valid</DisplayString>
-   </Type>
-  <Type Name="clang::ActionResult&lt;*&gt;" IncludeView="unpackedValidity">
+  <Type Name="clang::ActionResult&lt;*, 0&gt;">
     <DisplayString Condition="Invalid">Invalid</DisplayString>
-    <DisplayString Condition="!Invalid">Valid</DisplayString>
+    <DisplayString Condition="!*(void **)&amp;Val">Unset</DisplayString>
+    <DisplayString>{Val}</DisplayString>
   </Type>
-  <Type Name="clang::ActionResult&lt;*&gt;" IncludeView="packed">
-    <DisplayString>{*this,view(packedValidity)}: {($T1 
*)(PtrWithInvalid&amp;~1)}</DisplayString>
+  <Type Name="clang::ActionResult&lt;*, 1&gt;">
+    <DisplayString Condition="PtrWithInvalid&amp;1">Invalid</DisplayString>
+    <DisplayString Condition="!PtrWithInvalid">Unset</DisplayString>
+    <DisplayString>{($T1)(PtrWithInvalid&amp;~1)}</DisplayString>
     <Expand>
       <Item Name="Invalid">(bool)(PtrWithInvalid&amp;1)</Item>
-      <Item Name="Val">($T1 *)(PtrWithInvalid&amp;~1)</Item>
-    </Expand>
-  </Type>
-  <Type Name="clang::ActionResult&lt;*&gt;" IncludeView="unpacked">
-    <DisplayString>{*this,view(unpackedValidity)}: {Val}</DisplayString>
-  </Type>
-  <Type Name="clang::ActionResult&lt;*&gt;">
-    <DisplayString Condition="$T2">{*this,view(packed)}</DisplayString>
-    <DisplayString Condition="!$T2">{*this,view(unpacked)}</DisplayString>
-    <Expand>
-      <ExpandedItem Condition="$T2">*this,view(packed)</ExpandedItem>
-      <ExpandedItem Condition="!$T2">*this,view(unpacked)</ExpandedItem>
+      <Item Name="Val">($T1)(PtrWithInvalid&amp;~1)</Item>
     </Expand>
   </Type>
 </AutoVisualizer>


_______________________________________________
cfe-commits mailing list
cfe-commits@lists.llvm.org
http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to