diff options
Diffstat (limited to 'include/clang/StaticAnalyzer/Core/PathSensitive/ExprEngine.h')
-rw-r--r-- | include/clang/StaticAnalyzer/Core/PathSensitive/ExprEngine.h | 15 |
1 files changed, 8 insertions, 7 deletions
diff --git a/include/clang/StaticAnalyzer/Core/PathSensitive/ExprEngine.h b/include/clang/StaticAnalyzer/Core/PathSensitive/ExprEngine.h index e2de1d634a..06a90fa847 100644 --- a/include/clang/StaticAnalyzer/Core/PathSensitive/ExprEngine.h +++ b/include/clang/StaticAnalyzer/Core/PathSensitive/ExprEngine.h @@ -581,6 +581,14 @@ public: return svalBuilder.evalBinOp(ST, Op, LHS, RHS, T); } + /// By looking at a certain item that may be potentially part of an object's + /// ConstructionContext, retrieve such object's location. A particular + /// statement can be transparently passed as \p Item in most cases. + static Optional<SVal> + getObjectUnderConstruction(ProgramStateRef State, + const ConstructionContextItem &Item, + const LocationContext *LC); + protected: /// evalBind - Handle the semantics of binding a value to a specific location. /// This method is used by evalStore, VisitDeclStmt, and others. @@ -773,13 +781,6 @@ private: const ConstructionContextItem &Item, const LocationContext *LC); - /// If the given statement corresponds to an object under construction, - /// being part of its construciton context, retrieve that object's location. - static Optional<SVal> - getObjectUnderConstruction(ProgramStateRef State, - const ConstructionContextItem &Item, - const LocationContext *LC); - /// If the given expression corresponds to a temporary that was used for /// passing into an elidable copy/move constructor and that constructor /// was actually elided, track that we also need to elide the destructor. |