<?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> |