r264710 - Visual Studio native visualizer for InjectedClassNameType
Mike Spertus via cfe-commits
cfe-commits at lists.llvm.org
Tue Mar 29 02:24:46 PDT 2016
Author: mps
Date: Tue Mar 29 04:24:45 2016
New Revision: 264710
URL: http://llvm.org/viewvc/llvm-project?rev=264710&view=rev
Log:
Visual Studio native visualizer for InjectedClassNameType
Also fixes some omissions for TemplateSpecializationType
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=264710&r1=264709&r2=264710&view=diff
==============================================================================
--- cfe/trunk/utils/ClangVisualizers/clang.natvis (original)
+++ cfe/trunk/utils/ClangVisualizers/clang.natvis Tue Mar 29 04:24:45 2016
@@ -32,8 +32,10 @@ For later versions of Visual Studio, no
<DisplayString Condition="TypeBits.TC==clang::Type::TypeClass::Record" IncludeView="poly">{*(clang::RecordType *)this}</DisplayString>
<DisplayString Condition="TypeBits.TC==clang::Type::TypeClass::Record" IncludeView="cpp">{*(clang::RecordType *)this,view(cpp)}</DisplayString>
<DisplayString Condition="TypeBits.TC==clang::Type::TypeClass::FunctionProto" IncludeView="poly">{*(clang::FunctionProtoType *)this}</DisplayString>
+ <DisplayString Condition="TypeBits.TC==clang::Type::TypeClass::TemplateSpecialization" IncludeView="poly">{*(clang::TemplateSpecializationType *)this}</DisplayString>
+ <DisplayString Condition="TypeBits.TC==clang::Type::TypeClass::InjectedClassName" IncludeView="poly">{*(clang::InjectedClassNameType *)this}</DisplayString>
<DisplayString IncludeView="cpp">{*this,view(poly)}</DisplayString>
- <DisplayString IncludeView="poly">{*this,view(cmn)}"</DisplayString> <!-- Not yet implemented Type subclass -->
+ <DisplayString IncludeView="poly">{*this,view(cmn)}</DisplayString> <!-- Not yet implemented Type subclass -->
<DisplayString>{*this,view(cmn)} {{{*this,view(poly)}}}</DisplayString>
<Expand>
<Item Name="TypeClass" IncludeView="cmn">(clang::Type::TypeClass)TypeBits.TC</Item>
@@ -48,6 +50,8 @@ For later versions of Visual Studio, no
<ExpandedItem ExcludeView="cmn" Condition="TypeBits.TC==clang::Type::TypeClass::SubstTemplateTypeParm">(clang::SubstTemplateTypeParmType *)this</ExpandedItem>
<ExpandedItem ExcludeView="cmn" Condition="TypeBits.TC==clang::Type::TypeClass::Record">(clang::RecordType *)this</ExpandedItem>
<ExpandedItem ExcludeView="cmn" Condition="TypeBits.TC==clang::Type::TypeClass::FunctionProto">(clang::FunctionProtoType *)this</ExpandedItem>
+ <ExpandedItem ExcludeView="cmn" Condition="TypeBits.TC==clang::Type::TypeClass::TemplateSpecialization">(clang::TemplateSpecializationType *)this</ExpandedItem>
+ <ExpandedItem ExcludeView="cmn" Condition="TypeBits.TC==clang::Type::TypeClass::InjectedClassName">(clang::InjectedClassNameType *)this</ExpandedItem>
</Expand>
</Type>
<Type Name="clang::PointerType">
@@ -182,6 +186,14 @@ For later versions of Visual Studio, no
<Type Name="clang::TemplateTypeParmType">
<DisplayString>typename {*TTPDecl,view(cpp)}</DisplayString>
</Type>
+ <Type Name="clang::InjectedClassNameType">
+ <DisplayString>{*Decl,view(cpp)}</DisplayString>
+ <Expand>
+ <Item Name="Decl">Decl</Item>
+ <Item Name="InjectedType">InjectedType</Item>
+ <ExpandedItem>*(clang::Type *)this, view(cmn)</ExpandedItem>
+ </Expand>
+ </Type>
<Type Name="clang::QualType">
<!-- When VS2013 support is deprecated, change 4 to clang::TypeAlignmentInBits (not properly recognized by VS2013) -->
<DisplayString IncludeView="poly">{*((clang::ExtQualsTypeCommonBase *)(((uintptr_t)Value.Value) & ~(uintptr_t)((1 << 4) - 1)))->BaseType,view(poly)}{*this,view(fastQuals)}</DisplayString>
More information about the cfe-commits
mailing list