Summary:
By now the context's SourceManager is now initialized everywhere that
ClangTidyCheck::registerMatcher() is called, so the call from run() seems
entirely redundant, and indeed all the tests pass.
This solves a problem with embedding clang-tidy: if using a DiagnosticsEngine
which already has file state, re-setting its SourceManager (to the same value)
causes an assertion.
(There are other ways to solve this problem, but this is the simplest).
Reviewers: hokein, alexfh
Subscribers: xazax.hun, cfe-commits
Differential Revision: https://reviews.llvm.org/D54061
llvm-svn: 346219
}
void ClangTidyCheck::run(const ast_matchers::MatchFinder::MatchResult &Result) {
- Context->setSourceManager(Result.SourceManager);
+ // For historical reasons, checks don't implement the MatchFinder run()
+ // callback directly. We keep the run()/check() distinction to avoid interface
+ // churn, and to allow us to add cross-cutting logic in the future.
check(Result);
}