diff options
author | Zhongxing Xu <xuzhongxing@gmail.com> | 2010-11-15 08:48:43 +0000 |
---|---|---|
committer | Zhongxing Xu <xuzhongxing@gmail.com> | 2010-11-15 08:48:43 +0000 |
commit | 9c6cd67ea416bace666d614c84d5531124287653 (patch) | |
tree | 4a781c989c0e881e09234318323621094046e2b2 /include/clang/Checker/PathSensitive | |
parent | c09265a5fd94af5dcfd7325d0cb4f04197d65afc (diff) |
Add skeleton for handling other kinds of CFGElements.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@119135 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'include/clang/Checker/PathSensitive')
-rw-r--r-- | include/clang/Checker/PathSensitive/GRCoreEngine.h | 4 | ||||
-rw-r--r-- | include/clang/Checker/PathSensitive/GRExprEngine.h | 12 | ||||
-rw-r--r-- | include/clang/Checker/PathSensitive/GRSubEngine.h | 2 |
3 files changed, 12 insertions, 6 deletions
diff --git a/include/clang/Checker/PathSensitive/GRCoreEngine.h b/include/clang/Checker/PathSensitive/GRCoreEngine.h index a1062ac03e..411f29d802 100644 --- a/include/clang/Checker/PathSensitive/GRCoreEngine.h +++ b/include/clang/Checker/PathSensitive/GRCoreEngine.h @@ -90,8 +90,8 @@ private: SubEngine.ProcessEndPath(Builder); } - void ProcessStmt(const CFGElement E, GRStmtNodeBuilder& Builder) { - SubEngine.ProcessStmt(E, Builder); + void ProcessElement(const CFGElement E, GRStmtNodeBuilder& Builder) { + SubEngine.ProcessElement(E, Builder); } bool ProcessBlockEntrance(const CFGBlock* Blk, const ExplodedNode *Pred, diff --git a/include/clang/Checker/PathSensitive/GRExprEngine.h b/include/clang/Checker/PathSensitive/GRExprEngine.h index d125befdbe..ab6a74dc34 100644 --- a/include/clang/Checker/PathSensitive/GRExprEngine.h +++ b/include/clang/Checker/PathSensitive/GRExprEngine.h @@ -175,9 +175,15 @@ public: return static_cast<CHECKER*>(lookupChecker(CHECKER::getTag())); } - /// ProcessStmt - Called by GRCoreEngine. Used to generate new successor - /// nodes by processing the 'effects' of a block-level statement. - void ProcessStmt(const CFGElement E, GRStmtNodeBuilder& builder); + /// ProcessElement - Called by GRCoreEngine. Used to generate new successor + /// nodes by processing the 'effects' of a CFG element. + void ProcessElement(const CFGElement E, GRStmtNodeBuilder& builder); + + void ProcessStmt(const CFGStmt S, GRStmtNodeBuilder &builder); + + void ProcessInitializer(const CFGInitializer I, GRStmtNodeBuilder &builder); + + void ProcessImplicitDtor(const CFGImplicitDtor D, GRStmtNodeBuilder &builder); /// ProcessBlockEntrance - Called by GRCoreEngine when start processing /// a CFGBlock. This method returns true if the analysis should continue diff --git a/include/clang/Checker/PathSensitive/GRSubEngine.h b/include/clang/Checker/PathSensitive/GRSubEngine.h index 1904835fbc..ff86adc9f8 100644 --- a/include/clang/Checker/PathSensitive/GRSubEngine.h +++ b/include/clang/Checker/PathSensitive/GRSubEngine.h @@ -47,7 +47,7 @@ public: /// Called by GRCoreEngine. Used to generate new successor /// nodes by processing the 'effects' of a block-level statement. - virtual void ProcessStmt(const CFGElement E, GRStmtNodeBuilder& builder) = 0; + virtual void ProcessElement(const CFGElement E, GRStmtNodeBuilder& builder)=0; /// Called by GRCoreEngine when start processing /// a CFGBlock. This method returns true if the analysis should continue |