forked from OSchip/llvm-project
Improve MSVC visualization of annot_template_id tokens
Now shows the actual annotated template. E.g., {annot_template_id (A<int, double>)} Also a few miscellaneous fixes to visualizers of other types llvm-svn: 365248
This commit is contained in:
parent
5ccdabf25d
commit
cf45cb0b9d
|
@ -52,8 +52,9 @@ For later versions of Visual Studio, no setup is required-->
|
|||
<DisplayString Condition="TypeBits.TC==clang::Type::TypeClass::InjectedClassName" IncludeView="poly">{*(clang::InjectedClassNameType *)this}</DisplayString>
|
||||
<DisplayString Condition="TypeBits.TC==clang::Type::TypeClass::DependentName" IncludeView="poly">{*(clang::DependentNameType *)this}</DisplayString>
|
||||
<DisplayString Condition="TypeBits.TC==clang::Type::TypeClass::PackExpansion" IncludeView="poly">{*(clang::PackExpansionType *)this}</DisplayString>
|
||||
<DisplayString Condition="TypeBits.TC==clang::LocInfoType::LocInfo" IncludeView="poly">{*(clang::LocInfoType *)this}</DisplayString>
|
||||
<DisplayString IncludeView="cpp">{*this,view(poly)}</DisplayString>
|
||||
<DisplayString Condition="TypeBits.TC==clang::LocInfoType::LocInfo" IncludeView="poly">{(clang::LocInfoType *)this,na}</DisplayString>
|
||||
<DisplayString Condition="TypeBits.TC==clang::LocInfoType::LocInfo" IncludeView="cpp">{(clang::LocInfoType *)this,view(cpp)na}</DisplayString>
|
||||
<DisplayString IncludeView="cpp">{this,view(poly)na}</DisplayString>
|
||||
<DisplayString IncludeView="left">{*this,view(cpp)}</DisplayString>
|
||||
<DisplayString IncludeView="right"></DisplayString>
|
||||
<DisplayString IncludeView="poly">No visualizer yet for {(clang::Type::TypeClass)TypeBits.TC,en}Type</DisplayString> <!-- Not yet implemented Type subclass -->
|
||||
|
@ -222,7 +223,31 @@ For later versions of Visual Studio, no setup is required-->
|
|||
<DisplayString IncludeView="cpp">{(TypedefNameDecl *)this,view(name)nand}</DisplayString>
|
||||
<DisplayString>using {(TypedefNameDecl *)this,view(name)nand} = {(TypedefNameDecl *)this,view(type)nand}</DisplayString>
|
||||
</Type>
|
||||
|
||||
<Type Name="clang::AssumedTemplateStorage">
|
||||
<DisplayString>{Name}</DisplayString>
|
||||
</Type>
|
||||
<Type Name="clang::UncommonTemplateNameStorage::BitsTag">
|
||||
<DisplayString>Kind={(UncommonTemplateNameStorage::Kind)Kind,en}, Size={Size}</DisplayString>
|
||||
<Expand>
|
||||
<Item Name="Kind">(UncommonTemplateNameStorage::Kind)Kind</Item>
|
||||
<Item Name="Size">Size</Item>
|
||||
</Expand>
|
||||
</Type>
|
||||
<Type Name="clang::UncommonTemplateNameStorage">
|
||||
<DisplayString IncludeView="cmn">{Bits},</DisplayString>
|
||||
<DisplayString Condition="Bits.Kind==UncommonTemplateNameStorage::Overloaded">{this,view(cmn)na},{(OverloadedTemplateStorage*)this,na}</DisplayString>
|
||||
<DisplayString Condition="Bits.Kind==UncommonTemplateNameStorage::Assumed">{this,view(cmn)na},{(AssumedTemplateStorage*)this,na}</DisplayString>
|
||||
<DisplayString Condition="Bits.Kind==UncommonTemplateNameStorage::SubstTemplateTemplateParm">{this,view(cmn)na},{(SubstTemplateTemplateParmStorage*)this,na}</DisplayString>
|
||||
<DisplayString Condition="Bits.Kind==UncommonTemplateNameStorage::SubstTemplateTemplateParmPack">{this,view(cmn)na},{(SubstTemplateTemplateParmPackStorage*)this,na}</DisplayString>
|
||||
<DisplayString>{this,view(cmn)na}</DisplayString>
|
||||
<Expand>
|
||||
<Item Name="Bits">Bits</Item>
|
||||
<ExpandedItem Condition="Bits.Kind==UncommonTemplateNameStorage::Overloaded">(OverloadedTemplateStorage*)this</ExpandedItem>
|
||||
<ExpandedItem Condition="Bits.Kind==UncommonTemplateNameStorage::Assumed">(AssumedTemplateStorage*)this</ExpandedItem>
|
||||
<ExpandedItem Condition="Bits.Kind==UncommonTemplateNameStorage::SubstTemplateTemplateParm">(SubstTemplateTemplateParmStorage*)this</ExpandedItem>
|
||||
<ExpandedItem Condition="Bits.Kind==UncommonTemplateNameStorage::SubstTemplateTemplateParmPack">(SubstTemplateTemplateParmPackStorage*)this</ExpandedItem>
|
||||
</Expand>
|
||||
</Type>
|
||||
<Type Name="clang::TemplateName">
|
||||
<DisplayString>{Storage,na}</DisplayString>
|
||||
<Expand>
|
||||
|
@ -290,7 +315,7 @@ For later versions of Visual Studio, no setup is required-->
|
|||
<DisplayString IncludeView="right">({*this,view(parm0)})</DisplayString>
|
||||
<DisplayString>{this,view(left)na}{this,view(right)na}</DisplayString>
|
||||
<Expand>
|
||||
<Item Name="ReturnType">ResultType</Item>
|
||||
<Item Name="ResultType">ResultType</Item>
|
||||
<Synthetic Name="Parameter Types">
|
||||
<DisplayString>{*this,view(parm0)}</DisplayString>
|
||||
<Expand>
|
||||
|
@ -324,10 +349,11 @@ For later versions of Visual Studio, no setup is required-->
|
|||
<DisplayString Condition="CanonicalType.Value.Value != this">Non-canonical: {*TTPDecl}</DisplayString>
|
||||
<DisplayString>Canonical: {CanTTPTInfo}</DisplayString>
|
||||
<Expand>
|
||||
<ExpandedItem>*(clang::Type *)this, view(cmn)</ExpandedItem>
|
||||
</Expand>
|
||||
</Type>
|
||||
<Type Name="clang::InjectedClassNameType">
|
||||
<DisplayString>{*Decl,view(cpp)}</DisplayString>
|
||||
<DisplayString>{InjectedType,view(cpp)}</DisplayString>
|
||||
<Expand>
|
||||
<Item Name="Decl">Decl</Item>
|
||||
<Item Name="InjectedType">InjectedType</Item>
|
||||
|
@ -384,7 +410,8 @@ For later versions of Visual Studio, no setup is required-->
|
|||
</Expand>
|
||||
</Type>
|
||||
<Type Name="clang::LocInfoType">
|
||||
<DisplayString>{*DeclInfo}</DisplayString>
|
||||
<DisplayString IncludeView="cpp">{DeclInfo,view(cpp)na}</DisplayString>
|
||||
<DisplayString>{DeclInfo,na}</DisplayString>
|
||||
<Expand>
|
||||
<Item Name="DeclInfo">DeclInfo</Item>
|
||||
<ExpandedItem>*(clang::Type *)this, view(cmn)</ExpandedItem>
|
||||
|
@ -420,9 +447,11 @@ For later versions of Visual Studio, no setup is required-->
|
|||
<DisplayString IncludeView="arg2cpp">, {Args.Args[2],view(cpp)}, ...</DisplayString>
|
||||
<DisplayString IncludeView="cpp" Condition="Integer.Kind == clang::TemplateArgument::ArgKind::Pack">{*this,view(arg0cpp)}</DisplayString>
|
||||
<DisplayString Condition="Integer.Kind == clang::TemplateArgument::ArgKind::Pack">{*this,view(arg0)}</DisplayString>
|
||||
<DisplayString Condition="Integer.Kind == clang::TemplateArgument::ArgKind::Expression">{(clang::Expr *)TypeOrValue.V,view(cpp)na}</DisplayString>
|
||||
<DisplayString>{(clang::TemplateArgument::ArgKind)TypeOrValue.Kind,en}</DisplayString>
|
||||
<Expand>
|
||||
<Item Name="QualType" Condition="Integer.Kind == clang::TemplateArgument::ArgKind::Type">*(clang::QualType *)&TypeOrValue.V</Item>
|
||||
<Item Name="Expression" Condition="Integer.Kind == clang::TemplateArgument::ArgKind::Expression">(clang::Expr *)TypeOrValue.V</Item>
|
||||
<ArrayItems Condition="Integer.Kind == clang::TemplateArgument::ArgKind::Pack">
|
||||
<Size>Args.NumArgs</Size>
|
||||
<ValuePointer>Args.Args</ValuePointer>
|
||||
|
@ -468,6 +497,7 @@ For later versions of Visual Studio, no setup is required-->
|
|||
</Expand>
|
||||
</Type>
|
||||
<Type Name="clang::ParsedTemplateArgument">
|
||||
<DisplayString Condition="Kind==clang::ParsedTemplateArgument::Type" IncludeView="cpp">{(clang::QualType *)Arg,view(cpp)na}</DisplayString>
|
||||
<DisplayString Condition="Kind==clang::ParsedTemplateArgument::Type">Type template argument: {*(clang::QualType *)Arg}</DisplayString>
|
||||
<DisplayString Condition="Kind==clang::ParsedTemplateArgument::NonType">Non-type template argument: {*(clang::Expr *)Arg}</DisplayString>
|
||||
<DisplayString Condition="Kind==clang::ParsedTemplateArgument::Template">Template template argument: {*(clang::TemplateName *)Arg</DisplayString>
|
||||
|
@ -604,7 +634,7 @@ For later versions of Visual Studio, no setup is required-->
|
|||
</Type>
|
||||
<Type Name="clang::detail::CXXDeductionGuideNameExtra">
|
||||
<DisplayString IncludeView="cpp">{Template->TemplatedDecl,view(cpp)}</DisplayString>
|
||||
<DisplayString>C++ Deduction guide for {Template->TemplatedDecl,view(cpp)}</DisplayString>
|
||||
<DisplayString>C++ Deduction guide for {Template->TemplatedDecl,view(cpp)na}</DisplayString>
|
||||
</Type>
|
||||
<Type Name="clang::detail::CXXSpecialNameExtra">
|
||||
<DisplayString IncludeView="cpp">{Type,view(cpp)}</DisplayString>
|
||||
|
@ -613,9 +643,32 @@ For later versions of Visual Studio, no setup is required-->
|
|||
<Type Name="clang::DeclarationNameInfo">
|
||||
<DisplayString>{Name}</DisplayString>
|
||||
</Type>
|
||||
<Type Name="clang::TemplateIdAnnotation">
|
||||
<DisplayString IncludeView="arg0" Condition="NumArgs==0"></DisplayString>
|
||||
<DisplayString IncludeView="arg0">{(ParsedTemplateArgument *)(this+1),view(cpp)na}{this,view(arg1)na}</DisplayString>
|
||||
<DisplayString IncludeView="arg1" Condition="NumArgs==1"></DisplayString>
|
||||
<DisplayString IncludeView="arg1">, {((ParsedTemplateArgument *)(this+1))+1,view(cpp)na}{this,view(arg2)na}</DisplayString>
|
||||
<DisplayString IncludeView="arg2" Condition="NumArgs==2"></DisplayString>
|
||||
<DisplayString IncludeView="arg1">, ...</DisplayString>
|
||||
<DisplayString>{Name,na}<{this,view(arg0)na}></DisplayString>
|
||||
<Expand>
|
||||
<Item Name="Name">Name</Item>
|
||||
<Synthetic Name="Arguments">
|
||||
<DisplayString>{this,view(arg0)na}</DisplayString>
|
||||
<Expand>
|
||||
<ArrayItems>
|
||||
<Size>NumArgs</Size>
|
||||
<ValuePointer>(ParsedTemplateArgument *)(this+1)</ValuePointer>
|
||||
</ArrayItems>
|
||||
</Expand>
|
||||
</Synthetic>
|
||||
<Item Name="Operator">Operator</Item>
|
||||
</Expand>
|
||||
</Type>
|
||||
<Type Name="clang::Token">
|
||||
<DisplayString Condition="Kind != clang::tok::identifier">{(clang::tok::TokenKind)Kind,en}</DisplayString>
|
||||
<DisplayString Condition="Kind == clang::tok::identifier">{{Identifier ({*(clang::IdentifierInfo *)(PtrData)})}}</DisplayString>
|
||||
<DisplayString Condition="Kind == clang::tok::annot_template_id">{{annot_template_id ({(clang::TemplateIdAnnotation *)(PtrData),na})}}</DisplayString>
|
||||
<DisplayString Condition="Kind == clang::tok::identifier">{{Identifier ({(clang::IdentifierInfo *)(PtrData),na})}}</DisplayString>
|
||||
<DisplayString>{(clang::tok::TokenKind)Kind,en}</DisplayString>
|
||||
</Type>
|
||||
<Type Name="clang::DeclSpec">
|
||||
<DisplayString>[{(clang::DeclSpec::SCS)StorageClassSpec}], [{(clang::TypeSpecifierType)TypeSpecType}]</DisplayString>
|
||||
|
|
Loading…
Reference in New Issue