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