From 51090d5f7f4246c38d746bbb10642f64c51d2329 Mon Sep 17 00:00:00 2001 From: Anna Zaks Date: Mon, 5 Dec 2011 18:58:19 +0000 Subject: [analyzer] First step toward removing ConstraintManager::canReasonAbout() from the ExprEngine. ExprEngine should not care if the constraint solver can reason about something or not. The solver should be able to handle all the SymExprs. To do this, the solver should be able to keep track of not only the SymbolData but of all SymExprs. This is why we change SymbolRef to be an alias of SymExpr*. When encountering an expression it cannot simplify, the solver should just add the constraints to it. llvm-svn: 145831 --- clang/lib/StaticAnalyzer/Core/SimpleConstraintManager.h | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) (limited to 'clang/lib/StaticAnalyzer/Core/SimpleConstraintManager.h') diff --git a/clang/lib/StaticAnalyzer/Core/SimpleConstraintManager.h b/clang/lib/StaticAnalyzer/Core/SimpleConstraintManager.h index d4295d42d95..000af439fdd 100644 --- a/clang/lib/StaticAnalyzer/Core/SimpleConstraintManager.h +++ b/clang/lib/StaticAnalyzer/Core/SimpleConstraintManager.h @@ -81,9 +81,17 @@ protected: // Internal implementation. //===------------------------------------------------------------------===// - const ProgramState *assumeAux(const ProgramState *state, Loc Cond,bool Assumption); + const ProgramState *assumeAux(const ProgramState *state, + Loc Cond, + bool Assumption); - const ProgramState *assumeAux(const ProgramState *state, NonLoc Cond, bool Assumption); + const ProgramState *assumeAux(const ProgramState *state, + NonLoc Cond, + bool Assumption); + + const ProgramState *assumeAuxForSymbol(const ProgramState *State, + SymbolRef Sym, + bool Assumption); }; } // end GR namespace -- cgit v1.2.3