summaryrefslogtreecommitdiffstats
path: root/utils
diff options
context:
space:
mode:
authorMike Spertus <mike@spertus.com>2016-06-13 04:02:35 +0000
committerMike Spertus <mike@spertus.com>2016-06-13 04:02:35 +0000
commit2b60a2c0ba79b64dea5bcae4fb76505b31f9994f (patch)
treefc5594f8b36678bd3a46a3c5a0ecaaf991f01156 /utils
parent990335a912bb36d37e00270aa1ea2750a8cba50b (diff)
Improved Visual Studio visualization of OpaquePtr
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
Diffstat (limited to 'utils')
-rw-r--r--utils/ClangVisualizers/clang.natvis18
1 files changed, 18 insertions, 0 deletions
diff --git a/utils/ClangVisualizers/clang.natvis b/utils/ClangVisualizers/clang.natvis
index 83c00b247c..6e3ca96ffd 100644
--- a/utils/ClangVisualizers/clang.natvis
+++ b/utils/ClangVisualizers/clang.natvis
@@ -485,12 +485,30 @@ For later versions of Visual Studio, no setup is required-->
<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>
<ExpandedItem>($T1 *)Ptr</ExpandedItem>
</Expand>
</Type>
+ <Type Name="clang::UnionOpaquePtr&lt;*&gt;">
+ <DisplayString>{($T1 *)Ptr}</DisplayString>
+ <Expand>
+ <ExpandedItem>($T1 *)Ptr</ExpandedItem>
+ </Expand>
+ </Type>
<Type Name="clang::TemplateParameterList">
<DisplayString IncludeView="parm0" Condition="NumParams==0"></DisplayString>
<DisplayString IncludeView="parm0">{*((NamedDecl **)(this+1))[0],view(cpp)}{*this,view(parm1)}</DisplayString>