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::Type"> 10 <DisplayString Condition="(clang::Type::TypeClass)TypeBits.TC == clang::Type::Builtin">Builtin Type={(clang::BuiltinType::Kind)BuiltinTypeBits.Kind}</DisplayString> 11 <DisplayString Condition="(clang::Type::TypeClass)TypeBits.TC == clang::Type::Attributed">Modified Type={((clang::AttributedType*)this)->ModifiedType} Attribute={(clang::AttributedType::Kind)AttributedTypeBits.AttrKind}</DisplayString> 12 <DisplayString>Type Class={(clang::Type::TypeClass)TypeBits.TC}</DisplayString> 13 </Type> 14 <Type Name="clang::QualType"> 15 <DisplayString>{((clang::ExtQualsTypeCommonBase *)(((uintptr_t)Value.Value) & ~(uintptr_t)((1 << clang::TypeAlignmentInBits) - 1)))->BaseType}</DisplayString> 16 </Type> 17 <Type Name="clang::IdentifierInfo"> 18 <DisplayString Condition="Entry != 0">({((llvm::StringMapEntry<clang::IdentifierInfo *>*)Entry)+1,s})</DisplayString> 19 <Expand> 20 <Item Condition="Entry != 0" Name="[Identifier]">((llvm::StringMapEntry<clang::IdentifierInfo *>*)Entry)+1,s</Item> 21 <Item Name="Token Kind">(clang::tok::TokenKind)TokenID</Item> 22 </Expand> 23 </Type> 24 <Type Name="clang::DeclarationName"> 25 <DisplayString Condition="Ptr == 0">Empty</DisplayString> 26 <DisplayString Condition="(Ptr & PtrMask) == StoredIdentifier">{{Identifier ({*(clang::IdentifierInfo *)(Ptr & ~PtrMask)})}}</DisplayString> 27 <DisplayString Condition="(Ptr & PtrMask) == StoredObjCZeroArgSelector">{{ObjC Zero Arg Selector (*{(clang::IdentifierInfo *)(Ptr & ~PtrMask)})}}</DisplayString> 28 <DisplayString Condition="(Ptr & PtrMask) == StoredObjCOneArgSelector">{{ObjC One Arg Selector (*{(clang::IdentifierInfo *)(Ptr & ~PtrMask)})}}</DisplayString> 29 <DisplayString Condition="(Ptr & PtrMask) == StoredDeclarationNameExtra">{{Extra ({(clang::DeclarationNameExtra::ExtraKind)((clang::DeclarationNameExtra *)(Ptr & ~PtrMask))->ExtraKindOrNumArgs})}}</DisplayString> 30 <Expand> 31 <Item Condition="(Ptr & PtrMask) == StoredIdentifier" Name="[Identifier]">*(clang::IdentifierInfo *)(Ptr & ~PtrMask)</Item> 32 <Item Condition="(Ptr & PtrMask) == StoredObjCZeroArgSelector" Name="[ObjC Zero Arg Selector]">*(clang::IdentifierInfo *)(Ptr & ~PtrMask)</Item> 33 <Item Condition="(Ptr & PtrMask) == StoredObjCOneArgSelector" Name="[ObjC One Arg Selector]">*(clang::IdentifierInfo *)(Ptr & ~PtrMask)</Item> 34 <Item Condition="(Ptr & PtrMask) == StoredDeclarationNameExtra" Name="[Extra]">(clang::DeclarationNameExtra::ExtraKind)((clang::DeclarationNameExtra *)(Ptr & ~PtrMask))->ExtraKindOrNumArgs</Item> 35 </Expand> 36 </Type> 37 <Type Name="clang::Token"> 38 <DisplayString Condition="Kind != clang::tok::identifier">{(clang::tok::TokenKind)Kind}</DisplayString> 39 <DisplayString Condition="Kind == clang::tok::identifier">{{Identifier ({*(clang::IdentifierInfo *)(PtrData)})}}</DisplayString> 40 </Type> 41 <Type Name="clang::DeclSpec"> 42 <DisplayString>[{(clang::DeclSpec::SCS)StorageClassSpec}], [{(clang::TypeSpecifierType)TypeSpecType}]</DisplayString> 43 </Type> 44 <Type Name="clang::PragmaHandler"> 45 <DisplayString>{Name,s}</DisplayString> 46 </Type> 47 <Type Name="clang::FileEntry"> 48 <DisplayString>{Name,s}</DisplayString> 49 </Type> 50 <Type Name="clang::DirectoryEntry"> 51 <DisplayString>{Name,s}</DisplayString> 52 </Type> 53 <Type Name="clang::VarDecl::VarDeclBitfields"> 54 <Expand> 55 <Item Name="StorageClass">(clang::StorageClass)SClass</Item> 56 <Item Name="ThreadStorageClass">(clang::ThreadStorageClassSpecifier)TSCSpec</Item> 57 <Item Name="InitStyle">(clang::VarDecl::InitializationStyle)InitStyle</Item> 58 </Expand> 59 </Type> 60 <Type Name="clang::VarDecl"> 61 <DisplayString>{Name}</DisplayString> 62 <Expand> 63 <ExpandedItem>*(DeclaratorDecl*)this,nd</ExpandedItem> 64 <Item Name="VarDeclBits">VarDeclBits</Item> 65 <Item Name="ParmVarDeclBits">ParmVarDeclBits</Item> 66 </Expand> 67 </Type> 68</AutoVisualizer> 69