aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSam McCall <sam.mccall@gmail.com>2022-11-08 20:18:10 +0100
committerSam McCall <sam.mccall@gmail.com>2022-11-08 20:18:10 +0100
commitc333b92b72b40d1f39d89ab94f764baeb8bb0cab (patch)
tree57951da00140ea4ae4f8e529098c7867a7b67adf
parent38cccb90660347939dd7bfdd57ba66760cba39c2 (diff)
downloadllvm-c333b92b72b40d1f39d89ab94f764baeb8bb0cab.zip
llvm-c333b92b72b40d1f39d89ab94f764baeb8bb0cab.tar.gz
llvm-c333b92b72b40d1f39d89ab94f764baeb8bb0cab.tar.bz2
[include-cleaner] Missing changes from 38cccb906603
-rw-r--r--clang-tools-extra/include-cleaner/include/clang-include-cleaner/Analysis.h7
-rw-r--r--clang-tools-extra/include-cleaner/lib/Analysis.cpp5
-rw-r--r--clang-tools-extra/include-cleaner/unittests/AnalysisTest.cpp13
3 files changed, 14 insertions, 11 deletions
diff --git a/clang-tools-extra/include-cleaner/include/clang-include-cleaner/Analysis.h b/clang-tools-extra/include-cleaner/include/clang-include-cleaner/Analysis.h
index 4c5c90e..6227719 100644
--- a/clang-tools-extra/include-cleaner/include/clang-include-cleaner/Analysis.h
+++ b/clang-tools-extra/include-cleaner/include/clang-include-cleaner/Analysis.h
@@ -28,7 +28,7 @@ namespace include_cleaner {
/// that symbol may be provided by several headers.
/// FIXME: Provide signals about the providing headers so the caller can filter
/// and rank the results.
-using UsedSymbolCB = llvm::function_ref<void(SymbolReference SymRef,
+using UsedSymbolCB = llvm::function_ref<void(const SymbolReference &SymRef,
llvm::ArrayRef<Header> Providers)>;
/// Find and report all references to symbols in a region of code.
@@ -44,8 +44,9 @@ using UsedSymbolCB = llvm::function_ref<void(SymbolReference SymRef,
/// the headers for any referenced symbol
/// FIXME: Take in an include structure to improve location to header mappings
/// (e.g. IWYU pragmas).
-void walkUsed(const SourceManager &, llvm::ArrayRef<Decl *> ASTRoots,
- llvm::ArrayRef<SymbolReference> MacroRefs, UsedSymbolCB CB);
+void walkUsed(llvm::ArrayRef<Decl *> ASTRoots,
+ llvm::ArrayRef<SymbolReference> MacroRefs, const SourceManager &,
+ UsedSymbolCB CB);
} // namespace include_cleaner
} // namespace clang
diff --git a/clang-tools-extra/include-cleaner/lib/Analysis.cpp b/clang-tools-extra/include-cleaner/lib/Analysis.cpp
index b4dfd12..f7c8bde 100644
--- a/clang-tools-extra/include-cleaner/lib/Analysis.cpp
+++ b/clang-tools-extra/include-cleaner/lib/Analysis.cpp
@@ -28,8 +28,9 @@ toHeader(llvm::ArrayRef<tooling::stdlib::Header> Headers) {
}
} // namespace
-void walkUsed(const SourceManager &SM, llvm::ArrayRef<Decl *> ASTRoots,
- llvm::ArrayRef<SymbolReference> MacroRefs, UsedSymbolCB CB) {
+void walkUsed(llvm::ArrayRef<Decl *> ASTRoots,
+ llvm::ArrayRef<SymbolReference> MacroRefs,
+ const SourceManager &SM, UsedSymbolCB CB) {
tooling::stdlib::Recognizer Recognizer;
for (auto *Root : ASTRoots) {
auto &SM = Root->getASTContext().getSourceManager();
diff --git a/clang-tools-extra/include-cleaner/unittests/AnalysisTest.cpp b/clang-tools-extra/include-cleaner/unittests/AnalysisTest.cpp
index bd794037..49652ad 100644
--- a/clang-tools-extra/include-cleaner/unittests/AnalysisTest.cpp
+++ b/clang-tools-extra/include-cleaner/unittests/AnalysisTest.cpp
@@ -50,9 +50,9 @@ TEST(WalkUsed, Basic) {
auto &SM = AST.sourceManager();
llvm::DenseMap<size_t, std::vector<Header>> OffsetToProviders;
- walkUsed(SM, TopLevelDecls, /*MacroRefs=*/{},
- [&](SymbolReference SymRef, llvm::ArrayRef<Header> Providers) {
- auto [FID, Offset] = SM.getDecomposedLoc(SymRef.RefLocation);
+ walkUsed(TopLevelDecls, /*MacroRefs=*/{}, SM,
+ [&](const SymbolReference &Ref, llvm::ArrayRef<Header> Providers) {
+ auto [FID, Offset] = SM.getDecomposedLoc(Ref.RefLocation);
EXPECT_EQ(FID, SM.getMainFileID());
OffsetToProviders.try_emplace(Offset, Providers.vec());
});
@@ -89,11 +89,12 @@ TEST(WalkUsed, MacroRefs) {
Symbol Answer =
Macro{&Idents.get("ANSWER"), SM.getComposedLoc(HdrID, Hdr.point())};
llvm::DenseMap<size_t, std::vector<Header>> OffsetToProviders;
- walkUsed(SM, /*ASTRoots=*/{}, /*MacroRefs=*/
+ walkUsed(/*ASTRoots=*/{}, /*MacroRefs=*/
{SymbolReference{SM.getComposedLoc(SM.getMainFileID(), Main.point()),
Answer, RefType::Explicit}},
- [&](SymbolReference SymRef, llvm::ArrayRef<Header> Providers) {
- auto [FID, Offset] = SM.getDecomposedLoc(SymRef.RefLocation);
+ SM,
+ [&](const SymbolReference &Ref, llvm::ArrayRef<Header> Providers) {
+ auto [FID, Offset] = SM.getDecomposedLoc(Ref.RefLocation);
EXPECT_EQ(FID, SM.getMainFileID());
OffsetToProviders.try_emplace(Offset, Providers.vec());
});