diff options
-rw-r--r-- | include/clang/StaticAnalyzer/Core/PathSensitive/CheckerContext.h | 4 | ||||
-rw-r--r-- | include/clang/StaticAnalyzer/Core/PathSensitive/SymbolManager.h | 3 |
2 files changed, 7 insertions, 0 deletions
diff --git a/include/clang/StaticAnalyzer/Core/PathSensitive/CheckerContext.h b/include/clang/StaticAnalyzer/Core/PathSensitive/CheckerContext.h index 4429c6b2a7..27c52c3b12 100644 --- a/include/clang/StaticAnalyzer/Core/PathSensitive/CheckerContext.h +++ b/include/clang/StaticAnalyzer/Core/PathSensitive/CheckerContext.h @@ -90,6 +90,10 @@ public: return Eng.getSValBuilder(); } + SymbolManager &getSymbolManager() { + return getSValBuilder().getSymbolManager(); + } + ExplodedNode *generateNode(bool autoTransition = true) { assert(statement && "Only transitions with statements currently supported"); ExplodedNode *N = generateNodeImpl(statement, getState(), false, diff --git a/include/clang/StaticAnalyzer/Core/PathSensitive/SymbolManager.h b/include/clang/StaticAnalyzer/Core/PathSensitive/SymbolManager.h index 66ecba7dcf..42113167a1 100644 --- a/include/clang/StaticAnalyzer/Core/PathSensitive/SymbolManager.h +++ b/include/clang/StaticAnalyzer/Core/PathSensitive/SymbolManager.h @@ -389,6 +389,9 @@ public: const SymbolExtent *getExtentSymbol(const SubRegion *R); + /// Creates a metadata symbol associated with a specific region. + /// VisitCount can be used to differentiate regions corresponding to + /// different loop iterations, thus, making the symbol path-dependent. const SymbolMetadata* getMetadataSymbol(const MemRegion* R, const Stmt* S, QualType T, unsigned VisitCount, const void* SymbolTag = 0); |