<?xml version="1.0" encoding="utf-8"?> <!-- Visual Studio 2012 Native Debugging Visualizers for LLVM Put this file into "%USERPROFILE%\Documents\Visual Studio 2012\Visualizers" or create a symbolic link so it updates automatically. --> <AutoVisualizer xmlns="http://schemas.microsoft.com/vstudio/debugger/natvis/2010"> <Type Name="clang::Type"> <DisplayString Condition="(clang::Type::TypeClass)TypeBits.TC == clang::Type::Builtin">Builtin Type={(clang::BuiltinType::Kind)BuiltinTypeBits.Kind}</DisplayString> <DisplayString Condition="(clang::Type::TypeClass)TypeBits.TC == clang::Type::Attributed">Modified Type={((clang::AttributedType*)this)->ModifiedType} Attribute={(clang::AttributedType::Kind)AttributedTypeBits.AttrKind}</DisplayString> <DisplayString>Type Class={(clang::Type::TypeClass)TypeBits.TC}</DisplayString> </Type> <Type Name="clang::QualType"> <DisplayString>{((clang::ExtQualsTypeCommonBase *)(((uintptr_t)Value.Value) & ~(uintptr_t)((1 << clang::TypeAlignmentInBits) - 1)))->BaseType}</DisplayString> </Type> <Type Name="clang::IdentifierInfo"> <DisplayString Condition="Entry != 0">({((llvm::StringMapEntry<clang::IdentifierInfo *>*)Entry)+1,s})</DisplayString> <Expand> <Item Condition="Entry != 0" Name="[Identifier]">((llvm::StringMapEntry<clang::IdentifierInfo *>*)Entry)+1,s</Item> <Item Name="Token Kind">(clang::tok::TokenKind)TokenID</Item> </Expand> </Type> <Type Name="clang::DeclarationName"> <DisplayString Condition="Ptr == 0">Empty</DisplayString> <DisplayString Condition="(Ptr & PtrMask) == StoredIdentifier">{{Identifier ({*(clang::IdentifierInfo *)(Ptr & ~PtrMask)})}}</DisplayString> <DisplayString Condition="(Ptr & PtrMask) == StoredObjCZeroArgSelector">{{ObjC Zero Arg Selector (*{(clang::IdentifierInfo *)(Ptr & ~PtrMask)})}}</DisplayString> <DisplayString Condition="(Ptr & PtrMask) == StoredObjCOneArgSelector">{{ObjC One Arg Selector (*{(clang::IdentifierInfo *)(Ptr & ~PtrMask)})}}</DisplayString> <DisplayString Condition="(Ptr & PtrMask) == StoredDeclarationNameExtra">{{Extra ({(clang::DeclarationNameExtra::ExtraKind)((clang::DeclarationNameExtra *)(Ptr & ~PtrMask))->ExtraKindOrNumArgs})}}</DisplayString> <Expand> <Item Condition="(Ptr & PtrMask) == StoredIdentifier" Name="[Identifier]">*(clang::IdentifierInfo *)(Ptr & ~PtrMask)</Item> <Item Condition="(Ptr & PtrMask) == StoredObjCZeroArgSelector" Name="[ObjC Zero Arg Selector]">*(clang::IdentifierInfo *)(Ptr & ~PtrMask)</Item> <Item Condition="(Ptr & PtrMask) == StoredObjCOneArgSelector" Name="[ObjC One Arg Selector]">*(clang::IdentifierInfo *)(Ptr & ~PtrMask)</Item> <Item Condition="(Ptr & PtrMask) == StoredDeclarationNameExtra" Name="[Extra]">(clang::DeclarationNameExtra::ExtraKind)((clang::DeclarationNameExtra *)(Ptr & ~PtrMask))->ExtraKindOrNumArgs</Item> </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> <Type Name="clang::PragmaHandler"> <DisplayString>{Name,s}</DisplayString> </Type> <Type Name="clang::FileEntry"> <DisplayString>{Name,s}</DisplayString> </Type> <Type Name="clang::DirectoryEntry"> <DisplayString>{Name,s}</DisplayString> </Type> <Type Name="clang::VarDecl::VarDeclBitfields"> <Expand> <Item Name="StorageClass">(clang::StorageClass)SClass</Item> <Item Name="ThreadStorageClass">(clang::ThreadStorageClassSpecifier)TSCSpec</Item> <Item Name="InitStyle">(clang::VarDecl::InitializationStyle)InitStyle</Item> </Expand> </Type> <Type Name="clang::VarDecl"> <DisplayString>{Name}</DisplayString> <Expand> <ExpandedItem>*(DeclaratorDecl*)this,nd</ExpandedItem> <Item Name="VarDeclBits">VarDeclBits</Item> <Item Name="ParmVarDeclBits">ParmVarDeclBits</Item> </Expand> </Type> </AutoVisualizer>