summaryrefslogtreecommitdiff
path: root/utils/ClangVisualizers
Commit message (Collapse)AuthorAgeFilesLines
* Improve MSVC visualizations so the parser shows where we are in the codeMike Spertus2019-08-061-0/+46
| | | | | | | Also provide a visualizer for lambda introducers git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@368029 91177308-0d34-0410-b5e6-96231b3b80d8
* Improve MSVC visualizers for DeclSpec and TemplateNameMike Spertus2019-07-291-2/+79
| | | | | | | | | DeclSpec now shows the TypeRep, ExprRep, or DeclRep as appropriate TemplateName decodes and displays the StorageType A few minor refinements to other types git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@367199 91177308-0d34-0410-b5e6-96231b3b80d8
* Template-related improvements to Visual Studio visualizersMike Spertus2019-07-131-7/+48
| | | | git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@366007 91177308-0d34-0410-b5e6-96231b3b80d8
* Improve MSVC visualization of annot_template_id tokensMike Spertus2019-07-051-9/+62
| | | | | | | | | | Now shows the actual annotated template. E.g., {annot_template_id (A<int, double>)} Also a few miscellaneous fixes to visualizers of other types git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@365248 91177308-0d34-0410-b5e6-96231b3b80d8
* Various tweaks to MSVC natvis visualizersMike Spertus2019-06-301-14/+40
| | | | | | | | | | | 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
* MSVC visualizers for type aliasesMike Spertus2019-06-231-0/+51
| | | | | | | | For example, the following TypeAliasTemplateDecl now displays in the autos window as template<class T> using type_identity_t = type_identity<T>::type; git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@364145 91177308-0d34-0410-b5e6-96231b3b80d8
* Natural MSVC visualization of constructorsMike Spertus2019-06-221-1/+6
| | | | | | | | | E.g., Allow MSVC to visualize a CXXConstructorDecl like Constructor { Y(type_identity_t<T>)} git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@364138 91177308-0d34-0410-b5e6-96231b3b80d8
* Various improvements to Clang MSVC VisualizerMike Spertus2019-06-171-32/+149
| | | | | | | | | | This change adds/improves MSVC visualizers for many Clang types, including array types, trailing return types in function, deduction guides, a fix for OpaquePtr, etc. It also replaces all of the view(deref) with the "na" formatter, which is a better built-in natvis technique for doing the same thing. Differential Revision: https://reviews.llvm.org/D63039 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@363574 91177308-0d34-0410-b5e6-96231b3b80d8
* Have MSVC Visualizer for DeducedTemplateSpecializationType show both the ↵Mike Spertus2019-01-061-13/+24
| | | | | | | | | | | | | | | | | | | | original template and deduced specialization Now appears in the Autos window something like - MyType DeducedTemplateSpecializationType {struct Y<int>} |- Template template<typename T> struct Y; |- Deduced As struct Y<int> |- isDeduced true bool |- TypeClass DeducedTemplateSpecialization (36) |- Flags No TypeBits set beyond TypeClass |- Canonical RecordType {struct Y<int>} Also changed QualType visualization to auto-expand the BaseType git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@350487 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix MSVC Visualization for TemplateTypeParmType and TemplateTypeParmDeclMike Spertus2019-01-051-7/+10
| | | | git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@350482 91177308-0d34-0410-b5e6-96231b3b80d8
* Improve MSVC type visualizationsMike Spertus2019-01-051-7/+47
| | | | | | | | | | Display TypeBits in a single line. Fix bit rot in template visualizations Rudimentary support for deduced types git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@350470 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix MSVC visualizations for ActionResult and OpaquePtrMike Spertus2019-01-031-32/+8
| | | | | | | | | Mainly just fixing buggy code. Also removed unnecessary visualizers for specializations of OpaquePtr git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@350371 91177308-0d34-0410-b5e6-96231b3b80d8
* Make clearer which clang::type subclasses have visualizersMike Spertus2018-12-311-1/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@350182 91177308-0d34-0410-b5e6-96231b3b80d8
* DeclAccessPair visualizer should be expandableMike Spertus2018-12-301-0/+4
| | | | git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@350167 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix errors with the Clang natvis file.Aaron Ballman2018-12-181-23/+30
| | | | | | | | This updates the FunctionProtoType visualizer to use the proper bits for determining parameter information and the DeclarationName visualizer to use the detail namespace. It also adds support for viewing newer special declaration names (like deduction guides). Patch with help of Bruno Ricci. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@349547 91177308-0d34-0410-b5e6-96231b3b80d8
* Improved Visual Studio visualization of OpaquePtrMike Spertus2016-06-131-0/+18
| | | | | | | | | | | Create a special visualizer for OpaquePtr<QualType> because the standard visualizer doesn't work with OpaquePtr<QualType> due to QualType being heavily dependent on traits to be pointer-like. Also, created an identical visualizer for UnionOpaquePtr git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@272531 91177308-0d34-0410-b5e6-96231b3b80d8
* Visual Studio Visualizer for PackExpansionTypeMike Spertus2016-06-121-0/+10
| | | | git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@272522 91177308-0d34-0410-b5e6-96231b3b80d8
* Visual Studio native visualizer for ParsedTemplateArgumentMike Spertus2016-06-121-0/+11
| | | | | | | | | | | Does a good job with type and non-type template arguments and lays the groundwork for template template arguments to visualize well once there is a TemplateName visualizer. Also fixed what looks like an incorrect comment in the header for ParsedTemplate.h. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@272521 91177308-0d34-0410-b5e6-96231b3b80d8
* Rudimentary support for Visual Studio Stmt visualizerMike Spertus2016-06-121-0/+6
| | | | | | | Better than nothing... git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@272518 91177308-0d34-0410-b5e6-96231b3b80d8
* Visual Studio Visualizers for ActionResult, LocInfoType, and and TypeSourceInfoMike Spertus2016-06-111-0/+39
| | | | | | | | | | | | Created a visualizer for ActionResult that displayed the validity and the pointer, but many of them initially displayed poorly. It turns out that the primary culprit is that LocInfoType is often passed in an action result, but it is not the same as other types. For example, LocInfoType is not in TypeNodes.def and clang::Type::TypeClass does not have a LocInfoType enum. After adding a special visualizer for LocInfoType, the display was more useful git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@272487 91177308-0d34-0410-b5e6-96231b3b80d8
* Visual Studio visualizers associated with LookupResultsMike Spertus2016-06-111-0/+18
| | | | | | | | | | | | Visualizers for DeclAccessPair, UnresolvedSet, and LookupResult. For example, when combined with LLVM diff D21256 (currently in review), a Lookup set will show much more naturally in the Locals window something like Found: {public typename ...Ts} git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@272448 91177308-0d34-0410-b5e6-96231b3b80d8
* Added missing close brace to OpaquePtr Visual Studio visualizerMike Spertus2016-06-101-1/+1
| | | | | | | This syntax error resulted in garbage being appended to OpaquePtr visualizations git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@272441 91177308-0d34-0410-b5e6-96231b3b80d8
* Improve Visual Studio visualization of DeclaratorDeclMike Spertus2016-06-071-0/+4
| | | | | | | With this change, you can now expand its name and type. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@271966 91177308-0d34-0410-b5e6-96231b3b80d8
* Improved Visual Studio visualizations for template argument listsMike Spertus2016-06-061-1/+22
| | | | | | | | | | | Improved the visualizer for TemplateArgumentList to show type arguments in the DisplayString. E.g., <double, long>. Added a visualizer for MultiLevelTemplateArgumentList. I decided to display them by how they would appear in a template with the (non-existent) template-id's omitted, so the DisplayString naturally presents as something like <double, long>::<char *>. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@271944 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix typo in last submission to visualize proper template argumentMike Spertus2016-06-061-1/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@271911 91177308-0d34-0410-b5e6-96231b3b80d8
* Better Visual Studio visualization of TemplateArgument and TemplateArgumentListMike Spertus2016-06-061-2/+32
| | | | | | | | For pack TemplateArguments, visualize all of the items in the pack Visualize a TemplateArgumentList as a template argument list. E.g., <int, double> git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@271910 91177308-0d34-0410-b5e6-96231b3b80d8
* Slightly improve Visual Studio visualization of clang::ExprMike Spertus2016-06-061-1/+1
| | | | | | | | | | Now it gives the StmtClass of the Expr as well as the type. It's still a long way from full visualization of expressions, but I have found that having the class really helps when debugging, so definitely worth submitting. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@271866 91177308-0d34-0410-b5e6-96231b3b80d8
* Visualize ellipses in TemplateTypeParm and TemplateTypeParmDeclMike Spertus2016-05-241-2/+5
| | | | | | | Now a TemplateTypeParm will be visualized as typename ...T if it is a pack git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@270521 91177308-0d34-0410-b5e6-96231b3b80d8
* Visualizer for Pack template argumentsMike Spertus2016-05-231-1/+6
| | | | git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@270505 91177308-0d34-0410-b5e6-96231b3b80d8
* Simple visualization of expressionsMike Spertus2016-05-161-0/+3
| | | | | | | While more could be done, showing the type is a lot better than what is there now. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@269623 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix redundant "typename typename T" in Visual Studio Native VisualizerMike Spertus2016-04-041-2/+3
| | | | | | | Also, a little minor cleanup git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@265338 91177308-0d34-0410-b5e6-96231b3b80d8
* Visual Studio native visualizers for clang::TemplateSpecializationTypeMike Spertus2016-04-011-2/+17
| | | | | | | | | Displays a template specialization as, say, A<int, double>. Does not yet handle UncommonTemplateNameStorage, QualifiedTemplateName, or DependentTemplateName, but still more than worthwhile git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@265104 91177308-0d34-0410-b5e6-96231b3b80d8
* Visual Studio native visualization for clang::TemplateDeclMike Spertus2016-03-311-0/+3
| | | | | | | | | | With this change, TemplateDecls display in the Locals Window something like template<typename T, typename U> struct A; git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@264997 91177308-0d34-0410-b5e6-96231b3b80d8
* Visual Studio native visualization for TemplateParameterList and ↵Mike Spertus2016-03-291-0/+25
| | | | | | | | | | | TemplateTypeParmDecl With this change, a TemplateParameterList will suggestively display in the locals window something like: <typename T, int i> git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@264714 91177308-0d34-0410-b5e6-96231b3b80d8
* Visual Studio native visualizer for InjectedClassNameTypeMike Spertus2016-03-291-1/+13
| | | | | | | Also fixes some omissions for TemplateSpecializationType git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@264710 91177308-0d34-0410-b5e6-96231b3b80d8
* This file was accidentally committed with bad line endings. Fixed...Mike Spertus2016-03-281-7/+7
| | | | git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@264621 91177308-0d34-0410-b5e6-96231b3b80d8
* Use VS2015 Project Support for Natvis to eliminate the need to manually ↵Mike Spertus2016-03-282-0/+369
install clang native visualizer This is the clang equivalent to llvm commit 264601. When using Visual Studio 2015, cmake now puts the native visualizers in llvm.sln, so the developer automatically sees custom visualizations. Much thanks to ariccio who provided extensive help on this change. (manual installation still needed on VS2013). git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@264603 91177308-0d34-0410-b5e6-96231b3b80d8