forked from OSchip/llvm-project
API cleanup: move more methods from GRStateManager to GRState.
llvm-svn: 73968
This commit is contained in:
parent
b45cebabc9
commit
ae01dc73af
|
@ -530,21 +530,6 @@ public:
|
|||
|
||||
private:
|
||||
|
||||
// Methods that query & manipulate the Environment.
|
||||
SVal GetSVal(const GRState* St, const Stmt* Ex) {
|
||||
return St->getEnvironment().GetSVal(Ex, ValueMgr);
|
||||
}
|
||||
|
||||
SVal GetSValAsScalarOrLoc(const GRState* state, const Stmt *S) {
|
||||
if (const Expr *Ex = dyn_cast<Expr>(S)) {
|
||||
QualType T = Ex->getType();
|
||||
if (Loc::IsLocType(T) || T->isIntegerType())
|
||||
return GetSVal(state, S);
|
||||
}
|
||||
|
||||
return UnknownVal();
|
||||
}
|
||||
|
||||
SVal GetBlkExprSVal(const GRState* St, const Stmt* Ex) {
|
||||
return St->getEnvironment().GetBlkExprSVal(Ex, ValueMgr);
|
||||
}
|
||||
|
@ -599,11 +584,6 @@ public:
|
|||
void iterBindings(const GRState* state, StoreManager::BindingsHandler& F) {
|
||||
StoreMgr->iterBindings(state->getStore(), F);
|
||||
}
|
||||
|
||||
|
||||
SVal GetSVal(const GRState* state, Loc LV, QualType T = QualType()) {
|
||||
return StoreMgr->Retrieve(state, LV, T);
|
||||
}
|
||||
|
||||
SVal GetSVal(const GRState* state, const MemRegion* R) {
|
||||
return StoreMgr->Retrieve(state, loc::MemRegionVal(R));
|
||||
|
@ -781,19 +761,25 @@ inline const llvm::APSInt *GRState::getSymVal(SymbolRef sym) const {
|
|||
}
|
||||
|
||||
inline SVal GRState::getSVal(const Stmt* Ex) const {
|
||||
return Mgr->GetSVal(this, Ex);
|
||||
return getEnvironment().GetSVal(Ex, Mgr->ValueMgr);
|
||||
}
|
||||
|
||||
inline SVal GRState::getBlkExprSVal(const Stmt* Ex) const {
|
||||
return Mgr->GetBlkExprSVal(this, Ex);
|
||||
}
|
||||
|
||||
inline SVal GRState::getSValAsScalarOrLoc(const Stmt *Ex) const {
|
||||
return Mgr->GetSValAsScalarOrLoc(this, Ex);
|
||||
inline SVal GRState::getSValAsScalarOrLoc(const Stmt *S) const {
|
||||
if (const Expr *Ex = dyn_cast<Expr>(S)) {
|
||||
QualType T = Ex->getType();
|
||||
if (Loc::IsLocType(T) || T->isIntegerType())
|
||||
return getSVal(S);
|
||||
}
|
||||
|
||||
return UnknownVal();
|
||||
}
|
||||
|
||||
inline SVal GRState::getSVal(Loc LV, QualType T) const {
|
||||
return Mgr->GetSVal(this, LV, T);
|
||||
return Mgr->StoreMgr->Retrieve(this, LV, T);
|
||||
}
|
||||
|
||||
inline SVal GRState::getSVal(const MemRegion* R) const {
|
||||
|
|
|
@ -380,7 +380,7 @@ public:
|
|||
return true;
|
||||
|
||||
// Check if the previous state has this binding.
|
||||
SVal X = VMgr.GetSVal(PrevSt, loc::MemRegionVal(R));
|
||||
SVal X = PrevSt->getSVal(loc::MemRegionVal(R));
|
||||
|
||||
if (X == V) // Same binding?
|
||||
return true;
|
||||
|
|
|
@ -282,7 +282,7 @@ bool GRState::scanReachableSymbols(SVal val, SymbolVisitor& visitor) const {
|
|||
bool GRStateManager::isEqual(const GRState* state, Expr* Ex,
|
||||
const llvm::APSInt& Y) {
|
||||
|
||||
SVal V = GetSVal(state, Ex);
|
||||
SVal V = state->getSVal(Ex);
|
||||
|
||||
if (loc::ConcreteInt* X = dyn_cast<loc::ConcreteInt>(&V))
|
||||
return X->getValue() == Y;
|
||||
|
|
Loading…
Reference in New Issue