https://github.com/NagyDonat created https://github.com/llvm/llvm-project/pull/181381
This iterator class was used only once and even there it was easily replaced by a more appropriate solution. This commit is motivated by the fact that my recent commit 320d0b5467b9586a188e06dd2620126f5cb99318 turned `IndirectGotoNodeBuilder` and `SwitchNodeBuilder` into subclasses of `NodeBuilder` and those classes have their own (slightly more useful) `::iterator`s with very different behavior. From 118eb2484d89b15b0c0c2f4302861b17fd1b1451 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Don=C3=A1t=20Nagy?= <[email protected]> Date: Fri, 13 Feb 2026 17:07:51 +0100 Subject: [PATCH] [NFC][analyzer] Remove NodeBuilder::iterator This iterator class was used only once and even there it was easily replaced by a more appropriate solution. This commit is motivated by the fact that my recent commit 320d0b5467b9586a188e06dd2620126f5cb99318 turned `IndirectGotoNodeBuilder` and `SwitchNodeBuilder` into subclasses of `NodeBuilder` and those classes have their own (slightly more useful) `::iterator`s with very different behavior. --- .../clang/StaticAnalyzer/Core/PathSensitive/CoreEngine.h | 7 ------- clang/lib/StaticAnalyzer/Core/ExprEngineCXX.cpp | 7 +++---- 2 files changed, 3 insertions(+), 11 deletions(-) diff --git a/clang/include/clang/StaticAnalyzer/Core/PathSensitive/CoreEngine.h b/clang/include/clang/StaticAnalyzer/Core/PathSensitive/CoreEngine.h index 217aaba4a00c5..f8d444251ec9f 100644 --- a/clang/include/clang/StaticAnalyzer/Core/PathSensitive/CoreEngine.h +++ b/clang/include/clang/StaticAnalyzer/Core/PathSensitive/CoreEngine.h @@ -293,13 +293,6 @@ class NodeBuilder { const ExplodedNodeSet &getResults() { return Frontier; } - using iterator = ExplodedNodeSet::iterator; - - /// Iterators through the results frontier. - iterator begin() { return Frontier.begin(); } - - iterator end() { return Frontier.end(); } - const NodeBuilderContext &getContext() { return C; } bool hasGeneratedNodes() { return HasGeneratedNodes; } diff --git a/clang/lib/StaticAnalyzer/Core/ExprEngineCXX.cpp b/clang/lib/StaticAnalyzer/Core/ExprEngineCXX.cpp index 00e3ef8311919..99751482dee40 100644 --- a/clang/lib/StaticAnalyzer/Core/ExprEngineCXX.cpp +++ b/clang/lib/StaticAnalyzer/Core/ExprEngineCXX.cpp @@ -689,11 +689,10 @@ void ExprEngine::handleConstructor(const Expr *E, "Prepare for object construction"); ExplodedNodeSet DstPrepare; StmtNodeBuilder BldrPrepare(Pred, DstPrepare, *currBldrCtx); - BldrPrepare.generateNode(E, Pred, State, &T, ProgramPoint::PreStmtKind); - assert(DstPrepare.size() <= 1); - if (DstPrepare.size() == 0) + Pred = + BldrPrepare.generateNode(E, Pred, State, &T, ProgramPoint::PreStmtKind); + if (!Pred) return; - Pred = *BldrPrepare.begin(); } const MemRegion *TargetRegion = Target.getAsRegion(); _______________________________________________ cfe-commits mailing list [email protected] https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
