[clang-tools-extra] r246660 - Move some more functionality into the AST consumer creation factory function, before registering matchers with the MatchFinder object. This allows us to set the language options for the ClangTidyContext object appropriately so that they can be used from registerMatchers(), and more closely models the way the clang-tidy tool works.
Aaron Ballman via cfe-commits
cfe-commits at lists.llvm.org
Wed Sep 2 09:04:15 PDT 2015
Author: aaronballman
Date: Wed Sep 2 11:04:15 2015
New Revision: 246660
URL: http://llvm.org/viewvc/llvm-project?rev=246660&view=rev
Log:
Move some more functionality into the AST consumer creation factory function, before registering matchers with the MatchFinder object. This allows us to set the language options for the ClangTidyContext object appropriately so that they can be used from registerMatchers(), and more closely models the way the clang-tidy tool works.
Modified:
clang-tools-extra/trunk/unittests/clang-tidy/ClangTidyTest.h
Modified: clang-tools-extra/trunk/unittests/clang-tidy/ClangTidyTest.h
URL: http://llvm.org/viewvc/llvm-project/clang-tools-extra/trunk/unittests/clang-tidy/ClangTidyTest.h?rev=246660&r1=246659&r2=246660&view=diff
==============================================================================
--- clang-tools-extra/trunk/unittests/clang-tidy/ClangTidyTest.h (original)
+++ clang-tools-extra/trunk/unittests/clang-tidy/ClangTidyTest.h Wed Sep 2 11:04:15 2015
@@ -33,6 +33,10 @@ private:
std::unique_ptr<ASTConsumer> CreateASTConsumer(CompilerInstance &Compiler,
StringRef File) override {
Context.setSourceManager(&Compiler.getSourceManager());
+ Context.setCurrentFile(File);
+ Context.setASTContext(&Compiler.getASTContext());
+
+ Check.registerMatchers(&Finder);
Check.registerPPCallbacks(Compiler);
return Finder.newASTConsumer();
}
@@ -56,9 +60,6 @@ runCheckOnCode(StringRef Code, std::vect
ClangTidyGlobalOptions(), Options));
ClangTidyDiagnosticConsumer DiagConsumer(Context);
T Check("test-check", &Context);
- ast_matchers::MatchFinder Finder;
- Check.registerMatchers(&Finder);
- Context.setCurrentFile(Filename.str());
std::vector<std::string> ArgCXX11(1, "clang-tidy");
ArgCXX11.push_back("-fsyntax-only");
@@ -66,6 +67,8 @@ runCheckOnCode(StringRef Code, std::vect
ArgCXX11.push_back("-Iinclude");
ArgCXX11.insert(ArgCXX11.end(), ExtraArgs.begin(), ExtraArgs.end());
ArgCXX11.push_back(Filename.str());
+
+ ast_matchers::MatchFinder Finder;
llvm::IntrusiveRefCntPtr<FileManager> Files(
new FileManager(FileSystemOptions()));
tooling::ToolInvocation Invocation(
More information about the cfe-commits
mailing list