From 2d88c0b98938bf295613976d4baa4dbbf8c5a395 Mon Sep 17 00:00:00 2001 From: Zhongxing Xu Date: Tue, 13 Oct 2009 02:29:58 +0000 Subject: [PATCH] Add two utility methods. llvm-svn: 83935 --- .../clang/Analysis/PathSensitive/AnalysisManager.h | 8 ++++++++ clang/include/clang/Analysis/PathSensitive/GRCoreEngine.h | 3 +++ 2 files changed, 11 insertions(+) diff --git a/clang/include/clang/Analysis/PathSensitive/AnalysisManager.h b/clang/include/clang/Analysis/PathSensitive/AnalysisManager.h index 868e3c06e4bb..e97f80576a8b 100644 --- a/clang/include/clang/Analysis/PathSensitive/AnalysisManager.h +++ b/clang/include/clang/Analysis/PathSensitive/AnalysisManager.h @@ -122,9 +122,17 @@ public: return AnaCtxMgr.getContext(D)->getParentMap(); } + // Get the top level stack frame. StackFrameContext *getStackFrame(Decl const *D) { return LocCtxMgr.getStackFrame(AnaCtxMgr.getContext(D), 0, 0); } + + // Get a stack frame with parent. + StackFrameContext const *getStackFrame(Decl const *D, + LocationContext const *Parent, + Stmt const *S) { + return LocCtxMgr.getStackFrame(AnaCtxMgr.getContext(D), Parent, S); + } }; } diff --git a/clang/include/clang/Analysis/PathSensitive/GRCoreEngine.h b/clang/include/clang/Analysis/PathSensitive/GRCoreEngine.h index 48b86b9eaf0e..02e0b0275e4e 100644 --- a/clang/include/clang/Analysis/PathSensitive/GRCoreEngine.h +++ b/clang/include/clang/Analysis/PathSensitive/GRCoreEngine.h @@ -162,6 +162,9 @@ public: return LastNode ? (LastNode->isSink() ? NULL : LastNode) : NULL; } + // FIXME: This should not be exposed. + GRWorkList *getWorkList() { return Eng.WList; } + void SetCleanedState(const GRState* St) { CleanedState = St; }