</Expand>\r
</Type>\r
<Type Name="clang::TemplateArgument">\r
+ <DisplayString IncludeView="cpp">{*(clang::QualType *)&TypeOrValue.V,view(cpp)}</DisplayString>\r
<DisplayString>{(clang::TemplateArgument::ArgKind)TypeOrValue.Kind,en} template parameter: {*(clang::QualType *)&TypeOrValue.V}</DisplayString>\r
<Expand>\r
<Item Name="QualType" Condition="Integer.Kind == clang::TemplateArgument::ArgKind::Type">*(clang::QualType *)&TypeOrValue.V</Item>\r
</Type>\r
\r
<Type Name="clang::TemplateSpecializationType">\r
- <DisplayString Condition="(Template.Storage.Val.Val.Value & 3) != 3 && (Template.Storage.Val.Val.Value & 2) != 2 && (Template.Storage.Val.Val.Value & 1) != 1">{(clang::TemplateDecl *)((Template.Storage.Val.Val.Value >> 2) << 2)}</DisplayString>\r
- <DisplayString>{Template.Storage}</DisplayString>\r
+ <DisplayString IncludeView="arg0" Condition="NumArgs==0"></DisplayString>\r
+ <DisplayString IncludeView="arg0">{((clang::TemplateArgument *)(this+1))[0],view(cpp)}{*this,view(arg1)}</DisplayString>\r
+ <DisplayString IncludeView="arg1" Condition="NumArgs==1"></DisplayString>\r
+ <DisplayString IncludeView="arg1">, {((clang::TemplateArgument *)(this+1))[1],view(cpp)}{*this,view(arg2)}</DisplayString>\r
+ <DisplayString IncludeView="arg2" Condition="NumArgs==2"></DisplayString>\r
+ <DisplayString IncludeView="arg2">, {((clang::TemplateArgument *)(this+1))[2],view(cpp)}{*this,view(arg3)}</DisplayString>\r
+ <DisplayString Condition="(Template.Storage.Val.Val.Value & 3) == 0">\r
+ {*((clang::TemplateDecl *)((Template.Storage.Val.Val.Value >> 2) << 2))->TemplatedDecl,view(cpp)}<{*this,view(arg0)}>\r
+ </DisplayString>\r
+ <Expand>\r
+ <Item Name="Template">Template.Storage</Item>\r
+ <ArrayItems>\r
+ <Size>NumArgs</Size>\r
+ <ValuePointer>(clang::TemplateArgument *)(this+1)</ValuePointer>\r
+ </ArrayItems>\r
+ </Expand>\r
</Type>\r
<Type Name="clang::IdentifierInfo">\r
<DisplayString Condition="Entry != 0">{((llvm::StringMapEntry<clang::IdentifierInfo *>*)Entry)+1,sb}</DisplayString>\r