diff options
author | Ted Kremenek <kremenek@apple.com> | 2009-03-11 02:22:59 +0000 |
---|---|---|
committer | Ted Kremenek <kremenek@apple.com> | 2009-03-11 02:22:59 +0000 |
commit | 66b527193aa6f3aa94c03f6769c42d7642e1e147 (patch) | |
tree | 2ea9a24ea0d0dad5f12371c346cdef54547b9f67 /include/clang/Analysis/PathSensitive/ConstraintManager.h | |
parent | 3df6421150271266b5a90fd4c6bfa6566c38c036 (diff) |
Added method "canReasonAbout" to ConstraintManager. This method returns true if
a ConstraintManager can usefully reason about the given SVal.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@66624 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, 7 insertions, 0 deletions
diff --git a/include/clang/Analysis/PathSensitive/ConstraintManager.h b/include/clang/Analysis/PathSensitive/ConstraintManager.h index f526d7819e..32e5bb0cb3 100644 --- a/include/clang/Analysis/PathSensitive/ConstraintManager.h +++ b/include/clang/Analysis/PathSensitive/ConstraintManager.h @@ -51,6 +51,13 @@ public: const char* nl, const char *sep) = 0; virtual void EndPath(const GRState* St) {} + + /// canReasonAbout - Not all ConstraintManagers can accurately reason about + /// all SVal values. This method returns true if the ConstraintManager can + /// reasonably handle a given SVal value. This is typically queried by + /// GRExprEngine to determine if the value should be replaced with a + /// conjured symbolic value in order to recover some precision. + virtual bool canReasonAbout(SVal X) const = 0; }; ConstraintManager* CreateBasicConstraintManager(GRStateManager& statemgr); |