diff options
author | Ted Kremenek <kremenek@apple.com> | 2011-10-23 02:31:52 +0000 |
---|---|---|
committer | Ted Kremenek <kremenek@apple.com> | 2011-10-23 02:31:52 +0000 |
commit | 142adc492be981bf2ca9527b71f3d623fe141f4f (patch) | |
tree | fa53511858f7056f44c9788a3fca7e742e5863a6 /clang/lib/StaticAnalyzer/Core/ExprEngineCXX.cpp | |
parent | e94d277db8bb8dda6beef4a6731c24a7a10fc47d (diff) | |
download | bcm5719-llvm-142adc492be981bf2ca9527b71f3d623fe141f4f.tar.gz bcm5719-llvm-142adc492be981bf2ca9527b71f3d623fe141f4f.zip |
[analyzer] Remove LocationContext creation methods from AnalysisManager, and change clients to use AnalysisContext instead.
WIP to remove/reduce ExprEngine's usage of AnalysisManager.
llvm-svn: 142739
Diffstat (limited to 'clang/lib/StaticAnalyzer/Core/ExprEngineCXX.cpp')
-rw-r--r-- | clang/lib/StaticAnalyzer/Core/ExprEngineCXX.cpp | 17 |
1 files changed, 9 insertions, 8 deletions
diff --git a/clang/lib/StaticAnalyzer/Core/ExprEngineCXX.cpp b/clang/lib/StaticAnalyzer/Core/ExprEngineCXX.cpp index acb007490ee..41c6035709e 100644 --- a/clang/lib/StaticAnalyzer/Core/ExprEngineCXX.cpp +++ b/clang/lib/StaticAnalyzer/Core/ExprEngineCXX.cpp @@ -215,17 +215,18 @@ void ExprEngine::VisitCXXConstructExpr(const CXXConstructExpr *E, } void ExprEngine::VisitCXXDestructor(const CXXDestructorDecl *DD, - const MemRegion *Dest, - const Stmt *S, - ExplodedNode *Pred, - ExplodedNodeSet &Dst) { + const MemRegion *Dest, + const Stmt *S, + ExplodedNode *Pred, + ExplodedNodeSet &Dst) { if (!(DD->doesThisDeclarationHaveABody() && AMgr.shouldInlineCall())) return; + // Create the context for 'this' region. - const StackFrameContext *SFC = AMgr.getStackFrame(DD, - Pred->getLocationContext(), - S, Builder->getBlock(), - Builder->getIndex()); + const StackFrameContext *SFC = + AnalysisContexts.getContext(DD)-> + getStackFrame(Pred->getLocationContext(), S, + Builder->getBlock(), Builder->getIndex()); const CXXThisRegion *ThisR = getCXXThisRegion(DD->getParent(), SFC); |