[clang] b692925 - [NFC][analyzer] Remove NodeBuilder::iterator (#181381)
via cfe-commits
cfe-commits at lists.llvm.org
Fri Feb 13 13:16:06 PST 2026
Author: DonĂ¡t Nagy
Date: 2026-02-13T22:16:01+01:00
New Revision: b69292549552f53eeff7deebdd649a5a6522b7d0
URL: https://github.com/llvm/llvm-project/commit/b69292549552f53eeff7deebdd649a5a6522b7d0
DIFF: https://github.com/llvm/llvm-project/commit/b69292549552f53eeff7deebdd649a5a6522b7d0.diff
LOG: [NFC][analyzer] Remove NodeBuilder::iterator (#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.
Added:
Modified:
clang/include/clang/StaticAnalyzer/Core/PathSensitive/CoreEngine.h
clang/lib/StaticAnalyzer/Core/ExprEngineCXX.cpp
Removed:
################################################################################
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();
More information about the cfe-commits
mailing list