1<?xml version="1.0" encoding="utf-8"?> 2<!-- 3Visual Studio 2012 Native Debugging Visualizers for LLVM 4 5Put this file into "%USERPROFILE%\Documents\Visual Studio 2012\Visualizers" 6or create a symbolic link so it updates automatically. 7--> 8<AutoVisualizer xmlns="http://schemas.microsoft.com/vstudio/debugger/natvis/2010"> 9 <Type Name="clang::IdentifierInfo"> 10 <DisplayString Condition="Entry != 0">({((llvm::StringMapEntry<clang::IdentifierInfo *>*)Entry)+1,s})</DisplayString> 11 <Expand> 12 <Item Condition="Entry != 0" Name="[Identifier]">((llvm::StringMapEntry<clang::IdentifierInfo *>*)Entry)+1,s</Item> 13 <Item Name="Token Kind">(clang::tok::TokenKind)TokenID</Item> 14 </Expand> 15 </Type> 16 <Type Name="clang::DeclarationName"> 17 <DisplayString Condition="Ptr == 0">Empty</DisplayString> 18 <DisplayString Condition="(Ptr & PtrMask) == StoredIdentifier">{{Identifier ({*(clang::IdentifierInfo *)(Ptr & ~PtrMask)})}}</DisplayString> 19 <DisplayString Condition="(Ptr & PtrMask) == StoredObjCZeroArgSelector">{{ObjC Zero Arg Selector (*{(clang::IdentifierInfo *)(Ptr & ~PtrMask)})}}</DisplayString> 20 <DisplayString Condition="(Ptr & PtrMask) == StoredObjCOneArgSelector">{{ObjC One Arg Selector (*{(clang::IdentifierInfo *)(Ptr & ~PtrMask)})}}</DisplayString> 21 <DisplayString Condition="(Ptr & PtrMask) == StoredDeclarationNameExtra">{{Extra ({(clang::DeclarationNameExtra::ExtraKind)((clang::DeclarationNameExtra *)(Ptr & ~PtrMask))->ExtraKindOrNumArgs})}}</DisplayString> 22 <Expand> 23 <Item Condition="(Ptr & PtrMask) == StoredIdentifier" Name="[Identifier]">*(clang::IdentifierInfo *)(Ptr & ~PtrMask)</Item> 24 <Item Condition="(Ptr & PtrMask) == StoredObjCZeroArgSelector" Name="[ObjC Zero Arg Selector]">*(clang::IdentifierInfo *)(Ptr & ~PtrMask)</Item> 25 <Item Condition="(Ptr & PtrMask) == StoredObjCOneArgSelector" Name="[ObjC One Arg Selector]">*(clang::IdentifierInfo *)(Ptr & ~PtrMask)</Item> 26 <Item Condition="(Ptr & PtrMask) == StoredDeclarationNameExtra" Name="[Extra]">(clang::DeclarationNameExtra::ExtraKind)((clang::DeclarationNameExtra *)(Ptr & ~PtrMask))->ExtraKindOrNumArgs</Item> 27 </Expand> 28 </Type> 29 <Type Name="clang::Token"> 30 <DisplayString>{(clang::tok::TokenKind)Kind}</DisplayString> 31 </Type> 32 <Type Name="clang::DeclSpec"> 33 <DisplayString>[{(clang::DeclSpec::SCS)StorageClassSpec}], [{(clang::TypeSpecifierType)TypeSpecType}]</DisplayString> 34 </Type> 35 <Type Name="clang::PragmaHandler"> 36 <DisplayString>{Name,s}</DisplayString> 37 </Type> 38 <Type Name="clang::FileEntry"> 39 <DisplayString>{Name,s}</DisplayString> 40 </Type> 41 <Type Name="clang::DirectoryEntry"> 42 <DisplayString>{Name,s}</DisplayString> 43 </Type> 44 <Type Name="clang::VarDecl::VarDeclBitfields"> 45 <Expand> 46 <Item Name="StorageClass">(clang::StorageClass)SClass</Item> 47 <Item Name="ThreadStorageClass">(clang::ThreadStorageClassSpecifier)TSCSpec</Item> 48 <Item Name="InitStyle">(clang::VarDecl::InitializationStyle)InitStyle</Item> 49 </Expand> 50 </Type> 51 <Type Name="clang::VarDecl"> 52 <DisplayString>{Name}</DisplayString> 53 <Expand> 54 <ExpandedItem>*(DeclaratorDecl*)this,nd</ExpandedItem> 55 <Item Name="VarDeclBits">VarDeclBits</Item> 56 <Item Name="ParmVarDeclBits">ParmVarDeclBits</Item> 57 </Expand> 58 </Type> 59</AutoVisualizer> 60