From: Mike Spertus Date: Mon, 29 Jul 2019 03:34:40 +0000 (+0000) Subject: Improve MSVC visualizers for DeclSpec and TemplateName X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=ddf46acf26445399aea795b3ea02e8d1c09fed37;p=clang Improve MSVC visualizers for DeclSpec and TemplateName DeclSpec now shows the TypeRep, ExprRep, or DeclRep as appropriate TemplateName decodes and displays the StorageType A few minor refinements to other types git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@367199 91177308-0d34-0410-b5e6-96231b3b80d8 --- diff --git a/utils/ClangVisualizers/clang.natvis b/utils/ClangVisualizers/clang.natvis index 8b2bf49b41..3b0f21af1a 100644 --- a/utils/ClangVisualizers/clang.natvis +++ b/utils/ClangVisualizers/clang.natvis @@ -49,6 +49,7 @@ For later versions of Visual Studio, no setup is required--> {(clang::FunctionProtoType *)this,view(right)na} {*(clang::TemplateSpecializationType *)this} {*(clang::DeducedTemplateSpecializationType *)this} + {*(clang::DeducedTemplateSpecializationType *)this,view(cpp)} {*(clang::InjectedClassNameType *)this} {*(clang::DependentNameType *)this} {*(clang::PackExpansionType *)this} @@ -203,6 +204,7 @@ For later versions of Visual Studio, no setup is required--> {*this,view(TorC)} {*this,view(MaybeEllipses)}{Name,view(cpp)} {this,view(Initializer)na} + {*TemplatedDecl,view(cpp)} template{TemplateParams,na} {*TemplatedDecl}; TemplateParams,na @@ -252,7 +254,57 @@ For later versions of Visual Studio, no setup is required--> (SubstTemplateTemplateParmPackStorage*)this + + + + + {(clang::TemplateDecl *)(Val.Value & ~3LL),view(cpp)na} + + + {(clang::TemplateDecl *)(Val.Value & ~3LL),na} + + + {(clang::UncommonTemplateNameStorage *)(Val.Value & ~3LL),view(cpp)na} + + + {(clang::UncommonTemplateNameStorage *)(Val.Value & ~3LL),na} + + + {(clang::QualifiedTemplateName *)(Val.Value & ~3LL),view(cpp)na} + + + {(clang::QualifiedTemplateName *)(Val.Value & ~3LL),na} + + + {(clang::DependentTemplateName *)(Val.Value & ~3LL),view(cpp)na} + + + {(clang::DependentTemplateName *)(Val.Value & ~3LL),na} + + + "TemplateDecl",s8b + + (clang::TemplateDecl *)(Val.Value & ~3LL) + + "UncommonTemplateNameStorage",s8b + + (clang::UncommonTemplateNameStorage *)(Val.Value & ~3LL) + + "QualifiedTemplateName",s8b + + (clang::QualifiedTemplateName *)(Val.Value & ~3LL) + + "DependentTemplateName",s8b + + (clang::DependentTemplateName *)(Val.Value & ~3LL) + + Val + + + + {Storage,view(cpp)na} {Storage,na} Storage @@ -608,11 +660,12 @@ For later versions of Visual Studio, no setup is required--> {CanonicalType,view(cpp)} + {Template,view(cpp)} {Template} Template CanonicalType,view(cpp) - *(clang::DeducedType *)this + (clang::DeducedType *)this Template @@ -711,7 +764,31 @@ For later versions of Visual Studio, no setup is required--> {(clang::tok::TokenKind)Kind,en} - [{(clang::DeclSpec::SCS)StorageClassSpec}], [{(clang::TypeSpecifierType)TypeSpecType}] + + , [{TypeRep}] + + + , [{ExprRep}] + + + , [{DeclRep}] + + + [{(clang::DeclSpec::SCS)StorageClassSpec,en}], [{(clang::TypeSpecifierType)TypeSpecType,en}]{this,view(extra)na} + + (clang::DeclSpec::SCS)StorageClassSpec + (clang::TypeSpecifierType)TypeSpecType + + TypeRep + + + ExprRep + + + DeclRep + + + {Name,s}