Extend the Token visualizer used by MSVC to display the identifier text for tok:...
authorAaron Ballman <aaron@aaronballman.com>
Fri, 11 Sep 2015 18:35:18 +0000 (18:35 +0000)
committerAaron Ballman <aaron@aaronballman.com>
Fri, 11 Sep 2015 18:35:18 +0000 (18:35 +0000)
Patch by Mike Spertus.

llvm-svn: 247442

clang/utils/clang.natvis

index 107af50..5917f84 100644 (file)
@@ -24,13 +24,14 @@ or create a symbolic link so it updates automatically.
       <Item Condition="(Ptr &amp; PtrMask) == StoredObjCZeroArgSelector" Name="[ObjC Zero Arg Selector]">*(clang::IdentifierInfo *)(Ptr &amp; ~PtrMask)</Item>\r
       <Item Condition="(Ptr &amp; PtrMask) == StoredObjCOneArgSelector" Name="[ObjC One Arg Selector]">*(clang::IdentifierInfo *)(Ptr &amp; ~PtrMask)</Item>\r
       <Item Condition="(Ptr &amp; PtrMask) == StoredDeclarationNameExtra" Name="[Extra]">(clang::DeclarationNameExtra::ExtraKind)((clang::DeclarationNameExtra *)(Ptr &amp; ~PtrMask))-&gt;ExtraKindOrNumArgs</Item>\r
-    </Expand>\r
-  </Type>\r
-  <Type Name="clang::Token">\r
-    <DisplayString>{(clang::tok::TokenKind)Kind}</DisplayString>\r
-  </Type>\r
-  <Type Name="clang::DeclSpec">\r
-    <DisplayString>[{(clang::DeclSpec::SCS)StorageClassSpec}], [{(clang::TypeSpecifierType)TypeSpecType}]</DisplayString>\r
+    </Expand>
+  </Type>
+  <Type Name="clang::Token">
+    <DisplayString Condition="Kind != clang::tok::identifier">{(clang::tok::TokenKind)Kind}</DisplayString>
+    <DisplayString Condition="Kind == clang::tok::identifier">{{Identifier ({*(clang::IdentifierInfo *)(PtrData)})}}</DisplayString>
+  </Type>
+  <Type Name="clang::DeclSpec">
+    <DisplayString>[{(clang::DeclSpec::SCS)StorageClassSpec}], [{(clang::TypeSpecifierType)TypeSpecType}]</DisplayString>
   </Type>\r
   <Type Name="clang::PragmaHandler">\r
     <DisplayString>{Name,s}</DisplayString>\r