]> granicus.if.org Git - clang/commitdiff
Move the make_const_ptr trait into STLExtras; use add_pointer where possible; NFC.
authorAaron Ballman <aaron@aaronballman.com>
Sun, 9 Dec 2018 19:53:24 +0000 (19:53 +0000)
committerAaron Ballman <aaron@aaronballman.com>
Sun, 9 Dec 2018 19:53:24 +0000 (19:53 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@348730 91177308-0d34-0410-b5e6-96231b3b80d8

include/clang/AST/CommentVisitor.h
include/clang/AST/DeclVisitor.h
include/clang/AST/EvaluatedExprVisitor.h
include/clang/AST/StmtVisitor.h

index 5845e4fb51d5018a6df20c0ca2d0786ffb3b40c3..e37e9d6cd2999b2e074571defb47e8ca3f0ac7e9 100644 (file)
 #define LLVM_CLANG_AST_COMMENTVISITOR_H
 
 #include "clang/AST/Comment.h"
+#include "llvm/ADT/STLExtras.h"
 #include "llvm/Support/ErrorHandling.h"
 
 namespace clang {
 namespace comments {
-
-template <typename T> struct make_ptr { using type = T *; };
-template <typename T> struct make_const_ptr { using type = const T *; };
-
 template <template <typename> class Ptr, typename ImplClass,
           typename RetTy = void, class... ParamTys>
 class CommentVisitorBase {
@@ -59,13 +56,13 @@ public:
 };
 
 template <typename ImplClass, typename RetTy = void, class... ParamTys>
-class CommentVisitor
-    : public CommentVisitorBase<make_ptr, ImplClass, RetTy, ParamTys...> {};
+class CommentVisitor : public CommentVisitorBase<std::add_pointer, ImplClass,
+                                                 RetTy, ParamTys...> {};
 
 template <typename ImplClass, typename RetTy = void, class... ParamTys>
 class ConstCommentVisitor
-    : public CommentVisitorBase<make_const_ptr, ImplClass, RetTy, ParamTys...> {
-};
+    : public CommentVisitorBase<llvm::make_const_ptr, ImplClass, RetTy,
+                                ParamTys...> {};
 
 } // namespace comments
 } // namespace clang
index 520a4a10bfe10c8facc491e4eb8292cb21e79c51..c6cbc9ff7faaf9455a6f86985548adac29253cfa 100644 (file)
 #include "clang/AST/DeclObjC.h"
 #include "clang/AST/DeclOpenMP.h"
 #include "clang/AST/DeclTemplate.h"
+#include "llvm/ADT/STLExtras.h"
 #include "llvm/Support/ErrorHandling.h"
 
 namespace clang {
 
 namespace declvisitor {
-
-template <typename T> struct make_ptr { using type = T *; };
-template <typename T> struct make_const_ptr { using type = const T *; };
-
 /// A simple visitor class that helps create declaration visitors.
 template<template <typename> class Ptr, typename ImplClass, typename RetTy=void>
 class Base {
@@ -66,16 +63,16 @@ public:
 ///
 /// This class does not preserve constness of Decl pointers (see also
 /// ConstDeclVisitor).
-template<typename ImplClass, typename RetTy = void>
+template <typename ImplClass, typename RetTy = void>
 class DeclVisitor
: public declvisitor::Base<declvisitor::make_ptr, ImplClass, RetTy> {};
   : public declvisitor::Base<std::add_pointer, ImplClass, RetTy> {};
 
 /// A simple visitor class that helps create declaration visitors.
 ///
 /// This class preserves constness of Decl pointers (see also DeclVisitor).
-template<typename ImplClass, typename RetTy = void>
+template <typename ImplClass, typename RetTy = void>
 class ConstDeclVisitor
: public declvisitor::Base<declvisitor::make_const_ptr, ImplClass, RetTy> {};
   : public declvisitor::Base<llvm::make_const_ptr, ImplClass, RetTy> {};
 
 } // namespace clang
 
index 1aec5ae842d48759f8dc13c935c287f8ac24bf11..f356584144e69ec76eeaf6f5a5b3264c53c20588 100644 (file)
@@ -19,6 +19,7 @@
 #include "clang/AST/Expr.h"
 #include "clang/AST/ExprCXX.h"
 #include "clang/AST/StmtVisitor.h"
+#include "llvm/ADT/STLExtras.h"
 
 namespace clang {
 
@@ -107,23 +108,22 @@ public:
 };
 
 /// EvaluatedExprVisitor - This class visits 'Expr *'s
-template<typename ImplClass>
+template <typename ImplClass>
 class EvaluatedExprVisitor
: public EvaluatedExprVisitorBase<make_ptr, ImplClass> {
   : public EvaluatedExprVisitorBase<std::add_pointer, ImplClass> {
 public:
-  explicit EvaluatedExprVisitor(const ASTContext &Context) :
-    EvaluatedExprVisitorBase<make_ptr, ImplClass>(Context) { }
+  explicit EvaluatedExprVisitor(const ASTContext &Context)
+      : EvaluatedExprVisitorBase<std::add_pointer, ImplClass>(Context) {}
 };
 
 /// ConstEvaluatedExprVisitor - This class visits 'const Expr *'s.
-template<typename ImplClass>
+template <typename ImplClass>
 class ConstEvaluatedExprVisitor
: public EvaluatedExprVisitorBase<make_const_ptr, ImplClass> {
   : public EvaluatedExprVisitorBase<llvm::make_const_ptr, ImplClass> {
 public:
-  explicit ConstEvaluatedExprVisitor(const ASTContext &Context) :
-    EvaluatedExprVisitorBase<make_const_ptr, ImplClass>(Context) { }
+  explicit ConstEvaluatedExprVisitor(const ASTContext &Context)
+      : EvaluatedExprVisitorBase<llvm::make_const_ptr, ImplClass>(Context) {}
 };
-
 }
 
 #endif // LLVM_CLANG_AST_EVALUATEDEXPRVISITOR_H
index bbfffe818610a1e1bc6054f019d398e819a05187..ea40e0497307d58a71848c3878c49f48c0eda886 100644 (file)
 #include "clang/AST/StmtObjC.h"
 #include "clang/AST/StmtOpenMP.h"
 #include "clang/Basic/LLVM.h"
+#include "llvm/ADT/STLExtras.h"
 #include "llvm/Support/Casting.h"
 #include "llvm/Support/ErrorHandling.h"
 #include <utility>
 
 namespace clang {
-
-template <typename T> struct make_ptr { using type = T *; };
-template <typename T> struct make_const_ptr { using type = const T *; };
-
 /// StmtVisitorBase - This class implements a simple visitor for Stmt
 /// subclasses. Since Expr derives from Stmt, this also includes support for
 /// visiting Exprs.
@@ -182,18 +179,19 @@ public:
 ///
 /// This class does not preserve constness of Stmt pointers (see also
 /// ConstStmtVisitor).
-template<typename ImplClass, typename RetTy=void, typename... ParamTys>
+template <typename ImplClass, typename RetTy = void, typename... ParamTys>
 class StmtVisitor
- : public StmtVisitorBase<make_ptr, ImplClass, RetTy, ParamTys...> {};
+    : public StmtVisitorBase<std::add_pointer, ImplClass, RetTy, ParamTys...> {
+};
 
 /// ConstStmtVisitor - This class implements a simple visitor for Stmt
 /// subclasses. Since Expr derives from Stmt, this also includes support for
 /// visiting Exprs.
 ///
 /// This class preserves constness of Stmt pointers (see also StmtVisitor).
-template<typename ImplClass, typename RetTy=void, typename... ParamTys>
-class ConstStmtVisitor
: public StmtVisitorBase<make_const_ptr, ImplClass, RetTy, ParamTys...> {};
+template <typename ImplClass, typename RetTy = void, typename... ParamTys>
+class ConstStmtVisitor : public StmtVisitorBase<llvm::make_const_ptr, ImplClass,
                                               RetTy, ParamTys...> {};
 
 } // namespace clang