From: Mike Spertus Date: Fri, 18 Mar 2016 16:38:34 +0000 (+0000) Subject: Show members of DeclContexts (i.e., class members) in Visual Studio native visualizers X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=a4c20f8576a104262aa5e1ceaac18d77f053bab7;p=clang Show members of DeclContexts (i.e., class members) in Visual Studio native visualizers This change shows members of DeclContext objects in the Visual Studio debugger. It will also cast a TagType like a class or a struct to a DeclContext, so its methods and fields are visualized. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@263794 91177308-0d34-0410-b5e6-96231b3b80d8 --- diff --git a/utils/clang.natvis b/utils/clang.natvis index ef20a211eb..cb7b01d2e2 100644 --- a/utils/clang.natvis +++ b/utils/clang.natvis @@ -73,6 +73,31 @@ or create a symbolic link so it updates automatically. {ModifiedType} Attribute={(clang::AttributedType::Kind)AttributedTypeBits.AttrKind} + + + + {(clang::Decl::Kind)DeclKind,en}Decl + + (clang::Decl::Kind)DeclKind,en + + FirstDecl + (clang::Decl *)(NextInContextAndBits.Value & ~3) + *this + + + + + Field {{{*(clang::NamedDecl *)this,view(cpp)nd}}} + + + Method {{{*(clang::NamedDecl *)this,view(cpp)nd}}} + + + Constructor {{{*(clang::NamedDecl *)this,view(cpp)nd}}} + + + Destructor {{{*(clang::NamedDecl *)this,view(cpp)nd}}} + {Name,view(cpp)} {Name} @@ -83,6 +108,9 @@ or create a symbolic link so it updates automatically. union {Name,view(cpp)} class {Name,view(cpp)} enum {Name,view(cpp)} + + (clang::DeclContext *)this + {*decl} @@ -97,7 +125,6 @@ or create a symbolic link so it updates automatically. *(clang::TagType *)this - {*Replaced,view(cpp)} <= {CanonicalType,view(cpp)}