aboutsummaryrefslogtreecommitdiff
path: root/include/clang/Analysis/PathSensitive/ConstraintManager.h
diff options
context:
space:
mode:
authorZhongxing Xu <xuzhongxing@gmail.com>2008-08-27 14:03:33 +0000
committerZhongxing Xu <xuzhongxing@gmail.com>2008-08-27 14:03:33 +0000
commit30ad167f74cb8a04c35ced6c69b116f15d104f8e (patch)
treead56b0bfe9b201ce6caecae63e6d4a2ad5aceea4 /include/clang/Analysis/PathSensitive/ConstraintManager.h
parent9c3fc703b29a31d40bcf5027dbb4784dd393804e (diff)
Refactor Assume logic into a separate class ConstraintManager.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@55412 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'include/clang/Analysis/PathSensitive/ConstraintManager.h')
-rw-r--r--include/clang/Analysis/PathSensitive/ConstraintManager.h20
1 files changed, 20 insertions, 0 deletions
diff --git a/include/clang/Analysis/PathSensitive/ConstraintManager.h b/include/clang/Analysis/PathSensitive/ConstraintManager.h
new file mode 100644
index 0000000000..0d8b56a9d7
--- /dev/null
+++ b/include/clang/Analysis/PathSensitive/ConstraintManager.h
@@ -0,0 +1,20 @@
+#ifndef CONSTRAINT_MANAGER_H
+#define CONSTRAINT_MANAGER_H
+
+namespace clang {
+
+class GRState;
+class GRStateManager;
+class RVal;
+
+class ConstraintManager {
+public:
+ virtual const GRState* Assume(const GRState* St, RVal Cond, bool Assumption,
+ bool& isFeasible) = 0;
+};
+
+ConstraintManager* CreateBasicConstraintManager(GRStateManager& statemgr);
+
+} // end clang namespace
+
+#endif