Author: mps
Date: Sat Jun 22 11:56:40 2019
New Revision: 364138

URL: http://llvm.org/viewvc/llvm-project?rev=364138&view=rev
Log:
Natural MSVC visualization of constructors

E.g., Allow MSVC to visualize a CXXConstructorDecl like 
Constructor { Y(type_identity_t<T>)}


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=364138&r1=364137&r2=364138&view=diff
==============================================================================
--- cfe/trunk/utils/ClangVisualizers/clang.natvis (original)
+++ cfe/trunk/utils/ClangVisualizers/clang.natvis Sat Jun 22 11:56:40 2019
@@ -515,7 +515,8 @@ For later versions of Visual Studio, no
     <DisplayString Condition="(Ptr &amp; PtrMask) == 
StoredIdentifier">{{Identifier ({*(clang::IdentifierInfo *)(Ptr &amp; 
~PtrMask)})}}</DisplayString>
     <DisplayString Condition="(Ptr &amp; PtrMask) == 
StoredObjCZeroArgSelector">{{ObjC Zero Arg Selector (*{(clang::IdentifierInfo 
*)(Ptr &amp; ~PtrMask)})}}</DisplayString>
     <DisplayString Condition="(Ptr &amp; PtrMask) == 
StoredObjCOneArgSelector">{{ObjC One Arg Selector (*{(clang::IdentifierInfo 
*)(Ptr &amp; ~PtrMask)})}}</DisplayString>
-    <DisplayString Condition="(Ptr &amp; PtrMask) == 
StoredCXXConstructorName">C++ Constructor 
{{*(clang::detail::CXXSpecialNameExtra *)(Ptr &amp; ~PtrMask)}}</DisplayString>
+    <DisplayString Condition="(Ptr &amp; PtrMask) == StoredCXXConstructorName" 
IncludeView="cpp">{(clang::detail::CXXSpecialNameExtra *)(Ptr &amp; 
~PtrMask),view(cpp)na}</DisplayString>
+    <DisplayString Condition="(Ptr &amp; PtrMask) == 
StoredCXXConstructorName">C++ Constructor 
{{{(clang::detail::CXXSpecialNameExtra *)(Ptr &amp; 
~PtrMask),view(cpp)na}}}</DisplayString>
     <DisplayString Condition="(Ptr &amp; PtrMask) == 
StoredCXXDestructorName">C++ Destructor {{*(clang::detail::CXXSpecialNameExtra 
*)(Ptr &amp; ~PtrMask)}}</DisplayString>
     <DisplayString Condition="(Ptr &amp; PtrMask) == 
StoredCXXConversionFunctionName">C++ Conversion function 
{{*(clang::detail::CXXSpecialNameExtra *)(Ptr &amp; ~PtrMask)}}</DisplayString>
     <DisplayString Condition="(Ptr &amp; PtrMask) == 
StoredCXXOperatorName">C++ Operator {{*(clang::detail::CXXOperatorIdName *)(Ptr 
&amp; ~PtrMask)}}</DisplayString>    
@@ -540,6 +541,10 @@ For later versions of Visual Studio, no
     <DisplayString Condition="ExtraKindOrNumArgs == CXXUsingDirective">C++ 
Using directive</DisplayString>  
     
<DisplayString>{(clang::detail::DeclarationNameExtra::ExtraKind)ExtraKindOrNumArgs,en}{"
  ",sb}{*this,view(cpp)}</DisplayString>
   </Type>
+  <Type Name="clang::detail::CXXSpecialNameExtra">
+    <DisplayString IncludeView="cpp">{Type,view(cpp)}</DisplayString>
+    <DisplayString>{Type}</DisplayString>
+  </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>


_______________________________________________
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to