Author: mps Date: Tue Mar 29 05:57:24 2016 New Revision: 264714 URL: http://llvm.org/viewvc/llvm-project?rev=264714&view=rev Log: Visual Studio native visualization for TemplateParameterList and TemplateTypeParmDecl
With this change, a TemplateParameterList will suggestively display in the locals window something like: <typename T, int i> 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=264714&r1=264713&r2=264714&view=diff ============================================================================== --- cfe/trunk/utils/ClangVisualizers/clang.natvis (original) +++ cfe/trunk/utils/ClangVisualizers/clang.natvis Tue Mar 29 05:57:24 2016 @@ -112,6 +112,10 @@ For later versions of Visual Studio, no <Type Name="clang::CXXDestructorDecl"> <DisplayString>Destructor {{~{Name,view(cpp)}()}}</DisplayString> </Type> + <Type Name="clang::TemplateTypeParmDecl"> + <DisplayString Condition="!Typename">class {Name,view(cpp)}</DisplayString> + <DisplayString>typename {Name,view(cpp)}</DisplayString> + </Type> <Type Name="clang::NamedDecl" > <DisplayString IncludeView="cpp">{Name,view(cpp)}</DisplayString> <DisplayString>{Name}</DisplayString> @@ -371,4 +375,25 @@ For later versions of Visual Studio, no <ExpandedItem>($T1 *)Ptr</ExpandedItem> </Expand> </Type> + <Type Name="clang::TemplateParameterList"> + <DisplayString IncludeView="parm0" Condition="NumParams==0"></DisplayString> + <DisplayString IncludeView="parm0">{*((NamedDecl **)(this+1))[0],view(cpp)}{*this,view(parm1)}</DisplayString> + <DisplayString IncludeView="parm1" Condition="NumParams==1"></DisplayString> + <DisplayString IncludeView="parm1">, {*((NamedDecl **)(this+1))[1],view(cpp)}{*this,view(parm2)}</DisplayString> + <DisplayString IncludeView="parm2" Condition="NumParams==2"></DisplayString> + <DisplayString IncludeView="parm2">, {*((NamedDecl **)(this+1))[2],view(cpp)}{*this,view(parm3)}</DisplayString> + <DisplayString IncludeView="parm3" Condition="NumParams==3"></DisplayString> + <DisplayString IncludeView="parm3">, {*((NamedDecl **)(this+1))[3],view(cpp)}{*this,view(parm4)}</DisplayString> + <DisplayString IncludeView="parm4" Condition="NumParams==4"></DisplayString> + <DisplayString IncludeView="parm4">, {*((NamedDecl **)(this+1))[4],view(cpp)}{*this,view(parm5)}</DisplayString> + <DisplayString IncludeView="parm5" Condition="NumParams==5"></DisplayString> + <DisplayString IncludeView="parm5">, /* Expand for more params */</DisplayString> + <DisplayString><{*this,view(parm0)}></DisplayString> + <Expand> + <ArrayItems> + <Size>NumParams</Size> + <ValuePointer>(NamedDecl **)(this+1)</ValuePointer> + </ArrayItems> + </Expand> + </Type> </AutoVisualizer> _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits