]> granicus.if.org Git - clang/commitdiff
Improved Visual Studio visualization of OpaquePtr
authorMike Spertus <mike@spertus.com>
Mon, 13 Jun 2016 04:02:35 +0000 (04:02 +0000)
committerMike Spertus <mike@spertus.com>
Mon, 13 Jun 2016 04:02:35 +0000 (04:02 +0000)
Create a special visualizer for OpaquePtr<QualType> because the
standard visualizer doesn't work with OpaquePtr<QualType>
due to QualType being heavily dependent on traits to be pointer-like.

Also, created an identical visualizer for UnionOpaquePtr

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@272531 91177308-0d34-0410-b5e6-96231b3b80d8

utils/ClangVisualizers/clang.natvis

index 83c00b247c0e229ad67cedf409fb353ff5c24be7..6e3ca96ffde363589cb6809dcb00a7c0939959cb 100644 (file)
@@ -485,12 +485,30 @@ For later versions of Visual Studio, no setup is required-->
       <ExpandedItem>*(clang::Type *)this, view(cmn)</ExpandedItem>\r
     </Expand>\r
   </Type>\r
+  <Type Name="clang::OpaquePtr&lt;clang::QualType&gt;">\r
+    <DisplayString>{*(clang::QualType *)this}</DisplayString>\r
+    <Expand>\r
+      <Item Name="Ptr">*(clang::QualType *)this</Item>\r
+    </Expand>\r
+  </Type>\r
+  <Type Name="clang::UnionOpaquePtr&lt;clang::QualType&gt;">\r
+    <DisplayString>{*(clang::QualType *)this}</DisplayString>\r
+    <Expand>\r
+      <Item Name="Ptr">*(clang::QualType *)this</Item>\r
+    </Expand>\r
+  </Type>\r
   <Type Name="clang::OpaquePtr&lt;*&gt;">\r
     <DisplayString>{($T1 *)Ptr}</DisplayString>\r
     <Expand>\r
       <ExpandedItem>($T1 *)Ptr</ExpandedItem>\r
     </Expand>\r
   </Type>\r
+  <Type Name="clang::UnionOpaquePtr&lt;*&gt;">\r
+    <DisplayString>{($T1 *)Ptr}</DisplayString>\r
+    <Expand>\r
+      <ExpandedItem>($T1 *)Ptr</ExpandedItem>\r
+    </Expand>\r
+  </Type>\r
   <Type Name="clang::TemplateParameterList">\r
     <DisplayString IncludeView="parm0" Condition="NumParams==0"></DisplayString>\r
     <DisplayString IncludeView="parm0">{*((NamedDecl **)(this+1))[0],view(cpp)}{*this,view(parm1)}</DisplayString>\r