[clang-tools-extra] [clang][include-cleaner] Support ObjC @selector expressions in WalkAST (PR #212564)
via cfe-commits
cfe-commits at lists.llvm.org
Fri Aug 14 13:13:19 PDT 2026
================
@@ -573,7 +618,31 @@ class ASTWalker : public RecursiveASTVisitor<ASTWalker> {
} // namespace
void walkAST(Decl &Root, DeclCallback Callback) {
- ASTWalker(Callback).TraverseDecl(&Root);
+ ASTWalker Walker(Callback);
+ Walker.TraverseDecl(&Root);
+
+ ASTContext &Ctx = Root.getASTContext();
+ if (!Ctx.getLangOpts().ObjC)
+ return;
+
+ auto RecordedSelectors = Walker.getRecordedSelectors();
+ if (RecordedSelectors.empty())
+ return;
+
+ llvm::DenseSet<Selector> NeededSelectors;
+ for (const auto *E : RecordedSelectors)
+ NeededSelectors.insert(E->getSelector());
+ TargetedSelectorDeclCollector Collector(NeededSelectors);
----------------
dmaclach wrote:
Done
https://github.com/llvm/llvm-project/pull/212564
More information about the cfe-commits
mailing list