Remove method 'AddNE' from the public interface of ConstraintManager.

llvm-svn: 63249
This commit is contained in:
Ted Kremenek 2009-01-28 22:27:59 +00:00
parent f50e60b23a
commit 2e561dd491
4 changed files with 10 additions and 13 deletions

View File

@ -38,8 +38,6 @@ public:
SVal UpperBound, bool Assumption,
bool& isFeasible) = 0;
virtual const GRState* AddNE(const GRState* St, SymbolRef sym,
const llvm::APSInt& V) = 0;
virtual const llvm::APSInt* getSymVal(const GRState* St, SymbolRef sym) = 0;
virtual bool isEqual(const GRState* St, SymbolRef sym,

View File

@ -603,10 +603,6 @@ public:
isFeasible);
}
const GRState* AddNE(const GRState* St, SymbolRef sym, const llvm::APSInt& V) {
return ConstraintMgr->AddNE(St, sym, V);
}
const llvm::APSInt* getSymVal(const GRState* St, SymbolRef sym) {
return ConstraintMgr->getSymVal(St, sym);
}
@ -671,10 +667,6 @@ public:
return GRStateRef(Mgr->Unbind(St, LV), *Mgr);
}
GRStateRef AddNE(SymbolRef sym, const llvm::APSInt& V) {
return GRStateRef(Mgr->AddNE(St, sym, V), *Mgr);
}
// Trait based GDM dispatch.
template<typename T>
typename GRStateTrait<T>::data_type get() const {
@ -735,6 +727,10 @@ public:
SVal GetLValue(const VarDecl* VD) {
return Mgr->GetLValue(St, VD);
}
GRStateRef Assume(SVal Cond, bool Assumption, bool& isFeasible) {
return GRStateRef(Mgr->Assume(St, Cond, Assumption, isFeasible), *Mgr);
}
// Pretty-printing.
void print(std::ostream& Out, const char* nl = "\n",

View File

@ -72,7 +72,7 @@ public:
const SymIntConstraint& C, bool& isFeasible);
const GRState* AssumeSymNE(const GRState* St, SymbolRef sym,
const llvm::APSInt& V, bool& isFeasible);
const llvm::APSInt& V, bool& isFeasible);
const GRState* AssumeSymEQ(const GRState* St, SymbolRef sym,
const llvm::APSInt& V, bool& isFeasible);

View File

@ -1678,8 +1678,11 @@ void CFRefCount::EvalSummary(ExplodedNodeSet<GRState>& Dst,
#endif
// FIXME: Add a flag to the checker where allocations are allowed to fail.
if (RE.getKind() == RetEffect::OwnedAllocatedSymbol)
state = state.AddNE(Sym, Eng.getBasicVals().getZeroWithPtrWidth());
if (RE.getKind() == RetEffect::OwnedAllocatedSymbol) {
bool isFeasible;
state = state.Assume(loc::SymbolVal(Sym), true, isFeasible);
assert(isFeasible && "Cannot assume fresh symbol is non-null.");
}
break;
}