diff options
author | Mike Spertus <mike@spertus.com> | 2016-06-13 04:02:35 +0000 |
---|---|---|
committer | Mike Spertus <mike@spertus.com> | 2016-06-13 04:02:35 +0000 |
commit | 2b60a2c0ba79b64dea5bcae4fb76505b31f9994f (patch) | |
tree | fc5594f8b36678bd3a46a3c5a0ecaaf991f01156 /utils | |
parent | 990335a912bb36d37e00270aa1ea2750a8cba50b (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.natvis | 18 |
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<clang::QualType>">
+ <DisplayString>{*(clang::QualType *)this}</DisplayString>
+ <Expand>
+ <Item Name="Ptr">*(clang::QualType *)this</Item>
+ </Expand>
+ </Type>
+ <Type Name="clang::UnionOpaquePtr<clang::QualType>">
+ <DisplayString>{*(clang::QualType *)this}</DisplayString>
+ <Expand>
+ <Item Name="Ptr">*(clang::QualType *)this</Item>
+ </Expand>
+ </Type>
<Type Name="clang::OpaquePtr<*>">
<DisplayString>{($T1 *)Ptr}</DisplayString>
<Expand>
<ExpandedItem>($T1 *)Ptr</ExpandedItem>
</Expand>
</Type>
+ <Type Name="clang::UnionOpaquePtr<*>">
+ <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>
|