From 63a6f3acbd80c602647a2f37aabd2a5c2967094f Mon Sep 17 00:00:00 2001 From: Stephen Kelly Date: Sat, 12 Jan 2019 16:35:37 +0000 Subject: [PATCH] Implement TemplateArgument dumping in terms of Visitor Summary: Split the output streaming from the traversal to other AST nodes. Reviewers: aaron.ballman Subscribers: cfe-commits Differential Revision: https://reviews.llvm.org/D55491 llvm-svn: 351012 --- clang/include/clang/AST/TemplateArgumentVisitor.h | 99 +++++++++++++++++++++++ clang/include/clang/AST/TextNodeDumper.h | 17 +++- clang/lib/AST/ASTDumper.cpp | 57 +++---------- clang/lib/AST/TextNodeDumper.cpp | 55 +++++++++++++ 4 files changed, 183 insertions(+), 45 deletions(-) create mode 100644 clang/include/clang/AST/TemplateArgumentVisitor.h diff --git a/clang/include/clang/AST/TemplateArgumentVisitor.h b/clang/include/clang/AST/TemplateArgumentVisitor.h new file mode 100644 index 0000000..e1cc392 --- /dev/null +++ b/clang/include/clang/AST/TemplateArgumentVisitor.h @@ -0,0 +1,99 @@ +//===- TemplateArgumentVisitor.h - Visitor for TArg subclasses --*- C++ -*-===// +// +// The LLVM Compiler Infrastructure +// +// This file is distributed under the University of Illinois Open Source +// License. See LICENSE.TXT for details. +// +//===----------------------------------------------------------------------===// +// +// This file defines the TemplateArgumentVisitor interface. +// +//===----------------------------------------------------------------------===// + +#ifndef LLVM_CLANG_AST_TEMPLATEARGUMENTVISITOR_H +#define LLVM_CLANG_AST_TEMPLATEARGUMENTVISITOR_H + +#include "clang/AST/TemplateBase.h" + +namespace clang { + +namespace templateargumentvisitor { + +/// A simple visitor class that helps create template argument visitors. +template