[PATCH] D76121: Modernize DeclTest

Marcel Hlopko via Phabricator via cfe-commits cfe-commits at lists.llvm.org
Fri Mar 13 02:15:38 PDT 2020


hlopko created this revision.
hlopko added a reviewer: gribozavr.
Herald added a project: clang.
Herald added a subscriber: cfe-commits.

This patch removes a call to the old ASTUnit::findFileRegionDecls and
replaces it with ast matchers.


Repository:
  rG LLVM Github Monorepo

https://reviews.llvm.org/D76121

Files:
  clang/unittests/AST/DeclTest.cpp


Index: clang/unittests/AST/DeclTest.cpp
===================================================================
--- clang/unittests/AST/DeclTest.cpp
+++ clang/unittests/AST/DeclTest.cpp
@@ -13,10 +13,11 @@
 #include "clang/AST/ASTContext.h"
 #include "clang/AST/Mangle.h"
 #include "clang/ASTMatchers/ASTMatchFinder.h"
+#include "clang/ASTMatchers/ASTMatchers.h"
 #include "clang/Basic/LLVM.h"
 #include "clang/Tooling/Tooling.h"
-#include "gtest/gtest.h"
 #include "llvm/IR/DataLayout.h"
+#include "gtest/gtest.h"
 
 using namespace clang::ast_matchers;
 using namespace clang::tooling;
@@ -76,14 +77,9 @@
   assert(Ctx.getTargetInfo().getDataLayout().getGlobalPrefix() &&
          "Expected target to have a global prefix");
   DiagnosticsEngine &Diags = AST->getDiagnostics();
-  SourceManager &SM = AST->getSourceManager();
-  FileID MainFileID = SM.getMainFileID();
 
-  // Find the method decls within the AST.
-  SmallVector<Decl *, 1> Decls;
-  AST->findFileRegionDecls(MainFileID, Code.find('{'), 0, Decls);
-  ASSERT_TRUE(Decls.size() == 1);
-  CXXRecordDecl *DeclS = cast<CXXRecordDecl>(Decls[0]);
+  auto *DeclS =
+      selectFirst<CXXRecordDecl>("d", match(cxxRecordDecl().bind("d"), Ctx));
   NamedDecl *DeclF = *DeclS->method_begin();
   NamedDecl *DeclG = *(++DeclS->method_begin());
 


-------------- next part --------------
A non-text attachment was scrubbed...
Name: D76121.250150.patch
Type: text/x-patch
Size: 1300 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/cfe-commits/attachments/20200313/19d72683/attachment-0001.bin>


More information about the cfe-commits mailing list