r311770 - [clang-diff] Remove NodeCountVisitor, NFC

Johannes Altmanninger via cfe-commits cfe-commits at lists.llvm.org
Fri Aug 25 02:49:49 PDT 2017


Author: krobelus
Date: Fri Aug 25 02:49:49 2017
New Revision: 311770

URL: http://llvm.org/viewvc/llvm-project?rev=311770&view=rev
Log:
[clang-diff] Remove NodeCountVisitor, NFC

Subscribers: klimek, cfe-commits

Differential Revision: https://reviews.llvm.org/D37000

Modified:
    cfe/trunk/lib/Tooling/ASTDiff/ASTDiff.cpp

Modified: cfe/trunk/lib/Tooling/ASTDiff/ASTDiff.cpp
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/Tooling/ASTDiff/ASTDiff.cpp?rev=311770&r1=311769&r2=311770&view=diff
==============================================================================
--- cfe/trunk/lib/Tooling/ASTDiff/ASTDiff.cpp (original)
+++ cfe/trunk/lib/Tooling/ASTDiff/ASTDiff.cpp Fri Aug 25 02:49:49 2017
@@ -127,6 +127,8 @@ public:
 
   SyntaxTree *Parent;
   ASTContext *
+  /// Nodes in preorder.
+  std::vector<Node> Nodes;
   std::vector<NodeId> Leaves;
   // Maps preorder indices to postorder ones.
   std::vector<int> PostorderIds;
@@ -155,9 +157,6 @@ public:
   std::string getStmtValue(const Stmt *S) const;
 
 private:
-  /// Nodes in preorder.
-  std::vector<Node> Nodes;
-
   void initTree();
   void setLeftMostDescendants();
 };
@@ -182,32 +181,6 @@ static bool isNodeExcluded(const SourceM
 }
 
 namespace {
-/// Counts the number of nodes that will be compared.
-struct NodeCountVisitor : public RecursiveASTVisitor<NodeCountVisitor> {
-  int Count = 0;
-  const SyntaxTree::Impl &Tree;
-  NodeCountVisitor(const SyntaxTree::Impl &Tree) : Tree(Tree) {}
-  bool TraverseDecl(Decl *D) {
-    if (isNodeExcluded(Tree.AST.getSourceManager(), D))
-      return true;
-    ++Count;
-    RecursiveASTVisitor<NodeCountVisitor>::TraverseDecl(D);
-    return true;
-  }
-  bool TraverseStmt(Stmt *S) {
-    if (S)
-      S = S->IgnoreImplicit();
-    if (isNodeExcluded(Tree.AST.getSourceManager(), S))
-      return true;
-    ++Count;
-    RecursiveASTVisitor<NodeCountVisitor>::TraverseStmt(S);
-    return true;
-  }
-  bool TraverseType(QualType T) { return true; }
-};
-} // end anonymous namespace
-
-namespace {
 // Sets Height, Parent and Children for each node.
 struct PreorderVisitor : public RecursiveASTVisitor<PreorderVisitor> {
   int Id = 0, Depth = 0;
@@ -218,6 +191,7 @@ struct PreorderVisitor : public Recursiv
 
   template <class T> std::tuple<NodeId, NodeId> PreTraverse(T *ASTNode) {
     NodeId MyId = Id;
+    Tree.Nodes.emplace_back();
     Node &N = Tree.getMutableNode(MyId);
     N.Parent = Parent;
     N.Depth = Depth;
@@ -274,9 +248,6 @@ struct PreorderVisitor : public Recursiv
 
 SyntaxTree::Impl::Impl(SyntaxTree *Parent, Decl *N, ASTContext &AST)
     : Parent(Parent), AST(AST) {
-  NodeCountVisitor NodeCounter(*this);
-  NodeCounter.TraverseDecl(N);
-  Nodes.resize(NodeCounter.Count);
   PreorderVisitor PreorderWalker(*this);
   PreorderWalker.TraverseDecl(N);
   initTree();
@@ -284,9 +255,6 @@ SyntaxTree::Impl::Impl(SyntaxTree *Paren
 
 SyntaxTree::Impl::Impl(SyntaxTree *Parent, Stmt *N, ASTContext &AST)
     : Parent(Parent), AST(AST) {
-  NodeCountVisitor NodeCounter(*this);
-  NodeCounter.TraverseStmt(N);
-  Nodes.resize(NodeCounter.Count);
   PreorderVisitor PreorderWalker(*this);
   PreorderWalker.TraverseStmt(N);
   initTree();




More information about the cfe-commits mailing list