From: Mike Spertus Date: Mon, 6 Jun 2016 21:41:20 +0000 (+0000) Subject: Improved Visual Studio visualizations for template argument lists X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=9fdc667538076d682d47bacedc28fcd056a066b2;p=clang Improved Visual Studio visualizations for template argument lists Improved the visualizer for TemplateArgumentList to show type arguments in the DisplayString. E.g., . Added a visualizer for MultiLevelTemplateArgumentList. I decided to display them by how they would appear in a template with the (non-existent) template-id's omitted, so the DisplayString naturally presents as something like ::. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@271944 91177308-0d34-0410-b5e6-96231b3b80d8 --- diff --git a/utils/ClangVisualizers/clang.natvis b/utils/ClangVisualizers/clang.natvis index 4d1338424c..10445094d8 100644 --- a/utils/ClangVisualizers/clang.natvis +++ b/utils/ClangVisualizers/clang.natvis @@ -265,7 +265,7 @@ For later versions of Visual Studio, no setup is required--> , {Arguments[1],view(cpp)}{*this,view(arg2)} - , {Arguments[2],view(cpp)}, ... + , {Arguments[1],view(cpp)}, ... <{*this,view(arg0)}> NumArguments @@ -275,6 +275,27 @@ For later versions of Visual Studio, no setup is required--> + + + {Data[0],view(cpp)}{*this,view(arg1)} + + , {Data[1],view(cpp)}{*this,view(arg2)} + + , {Data[2],view(cpp)}, ... + <{*this,view(arg0)}> + + + + {((llvm::ArrayRef<clang::TemplateArgument> *)TemplateArgumentLists.BeginX)[0],view(cpp)}{*this,view(level1)} + + ::{((llvm::ArrayRef<clang::TemplateArgument> *)TemplateArgumentLists.BeginX)[1],view(cpp)}{*this,view(level2)} + + ::{((llvm::ArrayRef<clang::TemplateArgument> *)TemplateArgumentLists.BeginX)[2],view(cpp)}, ... + {*this,view(level0)} + + TemplateArgumentLists + + void