From: Mike Spertus Date: Sun, 30 Jun 2019 22:04:25 +0000 (+0000) Subject: Various tweaks to MSVC natvis visualizers X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=7411e94aa844d5bfc8cedab8dfc70e4247bbeed9;p=clang Various tweaks to MSVC natvis visualizers Make more consistent use of na format. Improve visualization of deduction guides. Add visualizer for explicit specifier (including conditionally explicit) Fix some typos git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@364724 91177308-0d34-0410-b5e6-96231b3b80d8 --- diff --git a/utils/ClangVisualizers/clang.natvis b/utils/ClangVisualizers/clang.natvis index 8f17a2a619..fdfd45184d 100644 --- a/utils/ClangVisualizers/clang.natvis +++ b/utils/ClangVisualizers/clang.natvis @@ -132,7 +132,7 @@ For later versions of Visual Studio, no setup is required--> - {PointeeType, view(poly)} * + {PointeeType, view(cpp)} * PointeeType *(clang::Type *)this, view(cmn) @@ -209,7 +209,7 @@ For later versions of Visual Studio, no setup is required--> {(clang::TypeSourceInfo *)(MaybeModedTInfo.Value & ~7LL),view(cpp)na} {(clang::TypedefNameDecl::ModedTInfo *)(MaybeModedTInfo.Value & ~7LL),view(cpp)na} {(TypeDecl *)this,view(cpp)nand} - typedef {this,view(type)na} {this,view(name)}; + typedef {this,view(type)na} {this,view(name)na}; "Not yet calculated",sb (bool)(MaybeModedTInfo.Value & 2) @@ -219,6 +219,7 @@ For later versions of Visual Studio, no setup is required--> + {(TypedefNameDecl *)this,view(name)nand} using {(TypedefNameDecl *)this,view(name)nand} = {(TypedefNameDecl *)this,view(type)nand} @@ -575,27 +576,43 @@ For later versions of Visual Studio, no setup is required--> IncludeView="cpp">{*(clang::detail::DeclarationNameExtra *)(Ptr & ~PtrMask),view(cpp)} {{Extra ({*(clang::detail::DeclarationNameExtra *)(Ptr & ~PtrMask)})}} - *(clang::IdentifierInfo *)(Ptr & ~PtrMask) - *(clang::IdentifierInfo *)(Ptr & ~PtrMask) - *(clang::IdentifierInfo *)(Ptr & ~PtrMask) - *(clang::detail::CXXSpecialNameExtra *)(Ptr & ~PtrMask) - *(clang::detail::CXXSpecialNameExtra *)(Ptr & ~PtrMask) - *(clang::detail::CXXSpecialNameExtra *)(Ptr & ~PtrMask) - *(clang::detail::CXXOperatorIdName *)(Ptr & ~PtrMask) - (clang::detail::DeclarationNameExtra *)(Ptr & ~PtrMask) + StoredNameKind(Ptr & PtrMask),en + *(clang::IdentifierInfo *)(Ptr & ~PtrMask),na + *(clang::IdentifierInfo *)(Ptr & ~PtrMask),na + *(clang::IdentifierInfo *)(Ptr & ~PtrMask),na + *(clang::detail::CXXSpecialNameExtra *)(Ptr & ~PtrMask),na + *(clang::detail::CXXSpecialNameExtra *)(Ptr & ~PtrMask),na + *(clang::detail::CXXSpecialNameExtra *)(Ptr & ~PtrMask),na + *(clang::detail::CXXOperatorIdName *)(Ptr & ~PtrMask),na + (clang::detail::DeclarationNameExtra *)(Ptr & ~PtrMask),na - {(NamedDecl *)(((CXXDeductionGuideNameExtra *)this)->Template),view(cpp)nand} - C++ Deduction guide + + {(CXXDeductionGuideNameExtra *)this,view(cpp)nand} + + + {(CXXDeductionGuideNameExtra *)this,nand} + C++ Literal operator C++ Using directive {(clang::detail::DeclarationNameExtra::ExtraKind)ExtraKindOrNumArgs,en}{" ",sb}{*this,view(cpp)} + + (CXXDeductionGuideNameExtra *)this + ExtraKindOrNumArgs + + + + {Template->TemplatedDecl,view(cpp)} + C++ Deduction guide for {Template->TemplatedDecl,view(cpp)} {Type,view(cpp)} {Type} + + {Name} + {(clang::tok::TokenKind)Kind,en} {{Identifier ({*(clang::IdentifierInfo *)(PtrData)})}} @@ -640,9 +657,18 @@ For later versions of Visual Studio, no setup is required--> *(VarDecl*)this,nd + + {"explicit ",sb} + + explicit({ExplicitSpec,view(ptr)na}) + {ExplicitSpec,view(int)en} + {ExplicitSpec,view(int)en} : {ExplicitSpec,view(ptr)na} + - {Name,view(cpp)nd}({(FunctionDecl*)this,view(parm0)nd}) -> {((clang::FunctionProtoType *)((clang::ExtQualsTypeCommonBase *)(((uintptr_t)DeclType.Value.Value) & ~15))->BaseType)->ResultType,view(cpp)} + {ExplicitSpec,view(cpp)}{Name,view(cpp)nd}({(FunctionDecl*)this,view(parm0)nand}) -> {((clang::FunctionProtoType *)((clang::ExtQualsTypeCommonBase *)(((uintptr_t)DeclType.Value.Value) & ~15))->BaseType)->ResultType,view(cpp)} + ExplicitSpec + (bool)FunctionDeclBits.IsCopyDeductionCandidate (FunctionDecl*)this,nd @@ -724,7 +750,7 @@ For later versions of Visual Studio, no setup is required--> public protected private - b + {*(clang::NamedDecl *)(Ptr&~Mask)} {*this,view(access)} {*this,view(decl)}