diff options
author | Ted Kremenek <kremenek@apple.com> | 2010-01-05 00:15:18 +0000 |
---|---|---|
committer | Ted Kremenek <kremenek@apple.com> | 2010-01-05 00:15:18 +0000 |
commit | 32a58084a4c53e6938dd81bfce224db25a5976d1 (patch) | |
tree | b87110336d229ca6e376bb3f9809e71297b02c2c /include/clang/Analysis/PathSensitive/ConstraintManager.h | |
parent | 51313c39c84407dd6a323be99a8c322bf8d052a9 (diff) |
Remove references to 'Checker' and 'GRTransferFuncs' from
GRStateManager. Having these references was an abstraction violation,
as they really should only be known about GRExprEngine.
This change required adding a new 'ProcessAssume' callback in
GRSubEngine. GRExprEngine implements this callback by calling
'EvalAssume' on all registered Checker objects as well as the
registered GRTransferFunc object.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@92549 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'include/clang/Analysis/PathSensitive/ConstraintManager.h')
-rw-r--r-- | include/clang/Analysis/PathSensitive/ConstraintManager.h | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/include/clang/Analysis/PathSensitive/ConstraintManager.h b/include/clang/Analysis/PathSensitive/ConstraintManager.h index 37a14083ac..c8292802ae 100644 --- a/include/clang/Analysis/PathSensitive/ConstraintManager.h +++ b/include/clang/Analysis/PathSensitive/ConstraintManager.h @@ -25,6 +25,7 @@ namespace clang { class GRState; class GRStateManager; +class GRSubEngine; class SVal; class ConstraintManager { @@ -64,8 +65,10 @@ public: virtual bool canReasonAbout(SVal X) const = 0; }; -ConstraintManager* CreateBasicConstraintManager(GRStateManager& statemgr); -ConstraintManager* CreateRangeConstraintManager(GRStateManager& statemgr); +ConstraintManager* CreateBasicConstraintManager(GRStateManager& statemgr, + GRSubEngine &subengine); +ConstraintManager* CreateRangeConstraintManager(GRStateManager& statemgr, + GRSubEngine &subengine); } // end clang namespace |