diff options
author | Sam McCall <sam.mccall@gmail.com> | 2022-11-08 20:18:10 +0100 |
---|---|---|
committer | Sam McCall <sam.mccall@gmail.com> | 2022-11-08 20:18:10 +0100 |
commit | c333b92b72b40d1f39d89ab94f764baeb8bb0cab (patch) | |
tree | 57951da00140ea4ae4f8e529098c7867a7b67adf | |
parent | 38cccb90660347939dd7bfdd57ba66760cba39c2 (diff) | |
download | llvm-c333b92b72b40d1f39d89ab94f764baeb8bb0cab.zip llvm-c333b92b72b40d1f39d89ab94f764baeb8bb0cab.tar.gz llvm-c333b92b72b40d1f39d89ab94f764baeb8bb0cab.tar.bz2 |
[include-cleaner] Missing changes from 38cccb906603
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()); }); |