diff --git a/include/clang/AST/LexicallyOrderedRecursiveASTVisitor.h b/include/clang/AST/LexicallyOrderedRecursiveASTVisitor.h index 7b8b72041314986572a7a6c4833574bd34de4675..264f20f19ad5b470220197f46c24ab1bb2864958 100644 --- a/include/clang/AST/LexicallyOrderedRecursiveASTVisitor.h +++ b/include/clang/AST/LexicallyOrderedRecursiveASTVisitor.h @@ -111,8 +111,6 @@ public: return true; } - bool shouldTraverseTemplateArgumentsBeforeDecl() const { return true; } - Stmt::child_range getStmtChildren(Stmt *S) { return S->children(); } SmallVector<Stmt *, 8> getStmtChildren(CXXOperatorCallExpr *CE) { diff --git a/include/clang/AST/RecursiveASTVisitor.h b/include/clang/AST/RecursiveASTVisitor.h index d36579de5364bbaa42638654954a6ad5c86b4a8d..5baf23caa563229ebbdef588afeb57997fc8a1b1 100644 --- a/include/clang/AST/RecursiveASTVisitor.h +++ b/include/clang/AST/RecursiveASTVisitor.h @@ -537,7 +537,6 @@ private: bool dataTraverseNode(Stmt *S, DataRecursionQueue *Queue); bool PostVisitStmt(Stmt *S); - bool shouldTraverseTemplateArgumentsBeforeDecl() const { return false; } }; template <typename Derived> @@ -1691,13 +1690,8 @@ bool RecursiveASTVisitor<Derived>::TraverseTemplateInstantiations( // template declarations. #define DEF_TRAVERSE_TMPL_DECL(TMPLDECLKIND) \ DEF_TRAVERSE_DECL(TMPLDECLKIND##TemplateDecl, { \ - if (getDerived().shouldTraverseTemplateArgumentsBeforeDecl()) { \ - TRY_TO(TraverseTemplateParameterListHelper(D->getTemplateParameters())); \ - TRY_TO(TraverseDecl(D->getTemplatedDecl())); \ - } else { \ - TRY_TO(TraverseDecl(D->getTemplatedDecl())); \ - TRY_TO(TraverseTemplateParameterListHelper(D->getTemplateParameters())); \ - } \ + TRY_TO(TraverseTemplateParameterListHelper(D->getTemplateParameters())); \ + TRY_TO(TraverseDecl(D->getTemplatedDecl())); \ \ /* By default, we do not traverse the instantiations of \ class templates since they do not appear in the user code. The \